我对以下代码的抱怨是,必须通过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);
}
答案 0 :(得分:1)
使用JSP EL。 Scriptlets有点......皱眉头,笨重。
${urlPrefix}
答案 1 :(得分:0)
JSP小程序不是可行的方法,现代Java EE应用程序使用表达式语言来访问变量;语法是#{urlPrefix}
。还要考虑使用Java Server Faces(JSF)实现导航并将视图与业务逻辑分开。
有关详细信息,请查看此tutorial。