【发布时间】:2011-11-20 12:09:07
【问题描述】:
有没有办法验证从 Servlet 传递到 JSP 的请求属性?
例如,在我的 Servlet 中,我会这样做:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Foo foo = new Foo();
request.setAttribute("foo", foo);
RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/bar.jsp);
dispatcher.forward(request, response);
}
bar.jsp 看起来像这样:
<html>
<body>
${foo.getBaz}
</body>
</html>
在 bar.jsp 中,有没有办法确保“foo”属性是 Foo 对象?我们使用 Maven JSPC 插件来编译 JSP,在编译时捕获重构/重命名错误(例如 Foo.getBaz() 被重命名为 Foo.getFluff())会很好。
【问题讨论】:
-
如果您使用的是 JSF、Struts、Spring MVC 等 MVC 框架,那么您可以利用现有的特定于框架的 IDE 插件,这些插件可以提供 EL 验证。例如。 JSF 的 JBoss 工具。然而,没有人想到普通的 vainlla JSP/Servlet。