我正在学习如何在谷歌应用引擎上编写 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);
在 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>
所以我的问题是两个方面。首先,对于小型 Web 应用来说,这是一种合理的处理方式吗?这只是我正在上课的一个小项目。其次,在 jsp 文件中,有没有更好的方法来访问 viewmodel 数据?