У меня есть логин сервлет, который является началом рабочего процессаJSPExpression Язык чтение значения из фасоли
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);
}
Пользователь боб используется для хранения данных теперь я добавил как имя пользователя, так и пароль как общедоступные, просто чтобы понять. Я не уверен, если я могу Accesss их непосредственно из 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 («пользователь»). Я использовал фасоль непосредственно, не уверен, если я пропускаю его здесь
**ProfileServlet.java**
protected void doPost(..)..{
User user = (User) request.getAttribute("user");
System.out.println("logged in user "+user.username);
}
Im пытается распечатать имя пользователя. Но каким-то образом я получаю nullpointerexception, поскольку запрос не имеет пользователя атрибута.
Я попробовал примеры для EL через сеть, но не смог найти удовлетворительное решение.