【发布时间】:2011-06-25 19:26:07
【问题描述】:
我正在尝试实现 MVC2 模型。 我有一个 Servlet,它从会话 bean 中获取数据并将实体从 servlet 转发到 jsp:
public class MyServlet extends HttpServlet{
@EJB UserFacade userFacade;
//Fetch the user from the session bean
Users currUser=userFacade.find(userName);
...
request.setAttribute("user", currUser);
getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
}
在 index.jsp 中:我从请求中获取用户,如果我使用 scriptlets 标签,我可以打印它的名称,但是当我使用 EL 时,什么都不会打印:
<@page import="Entities.Users">
<"Users currUser = (Users)request.getAttribute("user");">
<= currUser.getName() > -OK!
${currUser.name}-Nothing is printed!
我应该如何将会话 bean 包含/转发到 JSP 中以便能够使用 EL(并避免使用 scriptlet)?
这是实现模型视图控制器的首选方式吗?
【问题讨论】:
-
标题和问题有点混乱。您不是从会话 bean 转发,而是从 Servlet 转发。如果您对英语动词“转发”的解释是“存储到范围中”,那么这也不适用。您正在将会话 bean 的调用结果存储到作用域中。这个问题似乎不需要整个会话 bean 和 ejb-3.1 标记。
标签: model-view-controller jsp el