Con*_*cer 4 model-view-controller jsp servlets
我正在学习如何在google app引擎上编写java servlet和jsp页面.我正在尝试使用MVC模型,但我不确定我是否正确行事.目前,我有一个访问页面时调用的servlet.servlet执行所有处理并创建一个HomePageViewModel对象,该对象被转发到jsp,如下所示:
// Do processing here
// ...
HomePageViewModel viewModel = new HomePageViewModel();
req.setAttribute("viewModel", viewModel);
//Servlet JSP communication
RequestDispatcher reqDispatcher = getServletConfig().getServletContext().getRequestDispatcher("/jsp/home.jsp");
reqDispatcher.forward(req, resp);
Run Code Online (Sandbox Code Playgroud)
在jsp方面,我有这样的事情:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="viewmodels.HomePageViewModel" %>
<%
HomePageViewModel viewModel = (HomePageViewModel) request.getAttribute("viewModel");
pageContext.setAttribute("viewModel", viewModel);
%>
<html>
<body>
<% out.println(((HomePageViewModel)pageContext.getAttribute("viewModel")).Test); %>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
所以我的问题是双重的.首先,这是为小型webapp做事的合理方式吗?这只是我正在上课的一个小项目.第二,在jsp文件中,是否有更好的方法来访问viewmodel数据?
如果您遵守Javabeans规范(即使用私有属性与公共getter/setter),
public class HomePageViewModel {
private String test;
public String getTest() {
return test;
}
public void setTest(String test) {
this.test = test;
}
}
Run Code Online (Sandbox Code Playgroud)
那么你可以使用EL(表达式语言)来访问数据.
<%@ page pageEncoding="UTF-8" %>
<html>
<body>
${viewModel.test}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2804 次 |
| 最近记录: |