有没有更好的方法将变量传递到我的视图?
我对下面代码的抱怨是变量 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);
}
My gripe with the below code is that the variables template
and urlPrefix
have to be called via <%=request.getAttribute('urlPrefix')%>
. Is there a way for me to pass a variable so I can just call it like <%=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);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 JSP EL。 Scriptlet 有点……不受欢迎,而且笨重。
Use JSP EL. Scriptlets are kind of... frowned upon, and clunky.
JSP scriptlet 不是可行的方法,现代 Java EE 应用程序使用表达式语言来访问变量;语法是
#{urlPrefix}
。还可以考虑使用 Java Server Faces (JSF) 来实现导航并将视图与业务逻辑分开。请查看此教程了解更多详细信息。
JSP scriptlets are not the way to go, modern Java EE applications use expression language for accessing variables; the syntax is
#{urlPrefix}
. Also consider using Java Server Faces (JSF) for implementing navigation and separate the view from the business logic.Take a look at this tutorial for further details.