我反映瞭如何通過使用擴展類的JSP頁面使用ModelAndView中的getter調用方法或獲取屬性值。如何調用ModelAndView方法或在JSP頁面中獲取對它的引用?
例如:
我會擴展類的ModelAndView類視圖,並實現有一些方法來得到一些數據。
import org.springframework.web.servlet.ModelAndView;
public class View extends ModelAndView {
private Map store = new HashMap<>() ;
public Object getElement(String index) {
return store.get(index);
}
public void setElement(String index,Object o) {
store.put(index,o);
}
}
現在控制器將處理接近請求。
public class WelcomeController extends AbstractController {
private String viewName;
@Override
protected ModelAndView handleRequestInternal(
HttpServletRequest request,
HttpServletResponse response) throws Exception {
View v = new View("example.jsp");
v.setElement("test", "Hello im test!");
return v
// I would not use here method addObject();
// how put reference to jsp page of View (ModelAndView)
// code like this return StackOverflowError
// v.addObject("reference_to_view",v);
}
}
什麼也不剩,只是讓我的字符串測試從View在JSP頁面中:
example.jsp
<body>
<h1>WELCOME</h1>
// how can i here call method getElement of object View.
${this.getElement("test")}
${getElement("test")}
</body>
我如何可以調用方法getElement();對象從WelcomeController返回的視圖
我認爲在JSP中你不能訪問整個ModelAndView只是它的ModelMap的項目,所以你必須添加你的商店給它addObject(..) – cy3er