有没有更好的方法将变量传递给我的视图?

时间:2012-01-01 14:47:27

标签: java java-ee-6

我对以下代码的抱怨是,必须通过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);
}

2 个答案:

答案 0 :(得分:1)

使用JSP EL。 Scriptlets有点......皱眉头,笨重。

${urlPrefix}

答案 1 :(得分:0)

JSP小程序不是可行的方法,现代Java EE应用程序使用表达式语言来访问变量;语法是#{urlPrefix}。还要考虑使用Java Server Faces(JSF)实现导航并将视图与业务逻辑分开。

有关详细信息,请查看此tutorial