В методе post вы можете добавить атрибут с помощью метода addAttribute
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String added(@RequestParam("name") String name, Model model) {
City city = new City();
city.setCity(name);
service.addCity(city);
model.addAttribute("city", city);
return "add";
}
и в JSP вы можете проверить, является ли атрибут city нулевым или нет (с тегом <c:if/>
). В случае, если он не нулевой, это потому, что он был только что добавлен в модель, так что вы можете показать все, что вы хотите. ${city.city}
это просто выражение JSTL, которое обращается к атрибуту city и затем вызывает метод получения, чтобы получить доступ к свойству city этого атрибута:
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<c:if test="${city != null}">
CITY <c:out value="${city.city}" /> ADDED
</c:if>
UPDATE
Если вам нужны разные сообщения в зависимости от операций обновления / создания, вы можете сделать это: (В примере обновление выполняется, когда параметр id не равен NULL, поскольку идентификатор является идентификатором города для обновления)
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String added(@RequestParam(value="id", required=false) String id, @RequestParam("name") String name, Model model) {
City city;
String operation;
if(id== null){
//create operation
city = new City();
operation = "CREATE";
}else{
//update operation
city = service.findCity(id);
operation = "UPDATE";
}
city.setCity(name);
service.saveCity(city); //save or update
model.addAttribute("city", city);
model.addAttribute("operation", operation); //add operation param
return "add";
}
и в JSP вы можете сделать:
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<c:if test="${operation == 'CREATE'}">
<c:if test="${city != null}">
CITY <c:out value="${city.city}" /> ADDED
</c:if>
<c:if test="${operation == 'UPDATE'}">
CITY <c:out value="${city.city}" /> UPDATED
</c:if>
</c:if>