java有没有更好的方法将变量传递给我的视图?
我对下面代码的不满是变量template
和urlPrefix
必须通过<%=request.getAttribute('urlPrefix')%>
调用。有没有一种方法可以让我传递一个变量,这样我就可以像<%=urlPrefix%>
那样调用它
public void loadView (PageConfig config) throws ServletException, IOException {
HttpServletRequest request = config.getRequest();
HttpServletResponse response = config.getResponse();
RequestDispatcher dispatcher = request.getRequestDispatcher("base.jsp");
response.setContentType("text/html;charset=UTF-8");
request.setAttribute("template", config.getTemplate());
request.setAttribute("urlPrefix", "/CMS");
System.out.println("Controller::LoadView()");
dispatcher.forward(request, response);
}
# 1 楼答案
JSP脚本并不是一条出路,现代javaee应用程序使用表达式语言来访问变量;语法是
#{urlPrefix}
。还可以考虑使用java Server FACTS(JSF)来实现导航,并将视图与业务逻辑分开。p>请看这个tutorial了解更多详细信息
# 2 楼答案
使用JSPEL。Scriptlet有点。。。皱眉,笨重