Giriş
Şu satırı dahil ederiz.
jsp sayfasının ismi belirtilir. Şöyle yaparız.
addObject
İmzası şöyle. jsp sayfasında gösterilecek nesne belirtilir.
Şu satırı dahil ederiz.
import org.springframework.web.servlet.ModelAndView;
Açıklaması şöyle
ModelAndView is a holder for both Model and View , so that the controller can return both model and view together.
Bu sınıfın içinde bir tane
private ModelMap model;
Kullanım
addObject ile ismi olan bir nesne eklenir. Daha sonra bu nesneye JSP sayfasında tekrar ismi ile erişilir.
addObject ile ismi olan bir nesne eklenir. Daha sonra bu nesneye JSP sayfasında tekrar ismi ile erişilir.
Eğer aynı anda birden fazla ismi olan nesne eklemek istersek addObjects() kullanılır
Örnek - addObject
Şöyle yaparız.
@Controller
public class HelloWorldController {
@RequestMapping("/welcome")
public ModelAndView hello() {
ModelAndView model = new ModelAndView("hello");
model.addObject("message", "spring mvc");
return model;
}
}
jsp sayfası şöyledir<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>${message}</h1>
</body>
</html>
Örnek - addAllOjbects
Şöyle yaparız
@RequestMapping(value = "/showCars", method = RequestMethod.GET)
public ModelAndView showApp() {
ModelAndView modelAndView = new ModelAndView();
//adding a single attribute for the modelMap
PageContent pageContent = new PageContent();
pageContent.setHeaderName("All Cars - From Controller");
modelAndView.addObject(pageContent);
List<Car> carList = new ArrayList<>();
...
Map<String,Object> allObjectsMap = new HashMap<>();
allObjectsMap.put("allCarObjects", carList);
//adding a set of objects for the model map
modelAndView.addAllObjects(allObjectsMap);
modelAndView.setViewName("CarView");
return modelAndView;
}
jsp için şöyle yaparız. Burada modelAndView nesnesine pageContent
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<title>ModelAttribute Example</title>
</head>
<body>
<h1>${pageContent.headerName}</h1>
<table>
<tr>
<th>Model</th>
<th>Registration No</th>
<th>Year of Manufacture</th>
</tr>
<c:forEach var="car" items="${allCarObjects}">
<tr>
<td><c:out value="${car.model}" /></td>
<td><c:out value="${car.regNo}" /></td>
<td><c:out value="${car.year}" /></td>
</tr>
</c:forEach>
</table>
</body>
</html>
constructor
ModelAndView model = new ModelAndView("hello");
addObject
İmzası şöyle. jsp sayfasında gösterilecek nesne belirtilir.
İmzası şöyle. jsp sayfasında gösterilecek nesne belirtilir.
public ModelAndView addObject(Object attrbiuteValue
);
İmzası şöyle. jsp sayfasında gösterilecek nesne belirtilir.
public ModelAndView addObject(String attributeName, Object attrbiuteValue);
Metodun içi şöyle. ModelMap'e ekleme yapar.
public ModelAndView addObject(String attributeName, Object attributeValue) {
getModelMap().addAttribute(attributeName, attributeValue);
return this;
}
Örnek
Hiç yorum yok:
Yorum Gönder