有没有办法验证从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())会很好。
答案 0 :(得分:1)
查看java中的instanceof运算符。它应该可以解决你的问题。
答案 1 :(得分:0)
你可以使用这样的scriptlet:
<%
Foo foo = (Foo) request.getAttribute("foo");
String baz = foo.getBaz();
%>
然后在HTML中使用baz
<%= baz %>