有沒有一種方法來驗證從Servlet傳遞給JSP的請求屬性?JSP/Servlet屬性驗證
例如,在我的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驗證。例如。 JBoss Tools for JSF。然而沒有人想到簡單的vainlla JSP/Servlet。 – BalusC