【发布时间】:2017-02-04 10:38:22
【问题描述】:
我有一个登录 servlet,它是工作流的开始
LoginServlet.java
doGet(...) throws ... {
User user = new User();
request.setAttribute("user", user);
ServletContext sc = this.getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher("/Login.jsp");
rd.forward(request, response);
}
User 是一个用于保存数据的 bean,我将用户名和密码都添加为 public 只是为了理解。我不确定我以后是否可以直接从 JSP 访问这些
**User.java**
public class User {
public String username;
public String password;
}
**Login.jsp**
...
<form action="/ProfileServlet" method = "post">
Username: <input type="text" value = "${user.username}"/>
Submit: <input type="submit" value="Submit"/>
</form>
...
所以没有写request.getAttribute("user")。我直接用了bean,不知道这里有没有遗漏
**ProfileServlet.java**
protected void doPost(..)..{
User user = (User) request.getAttribute("user");
System.out.println("logged in user "+user.username);
}
我正在尝试打印出给定的用户名。但不知何故我得到了 nullpointerexception,因为请求没有属性用户。
我尝试了跨网络的 EL 示例,但找不到令人满意的解决方案。
【问题讨论】: