Почему не работает Expression Language Java EE?
на JSP странице через Expression Language ${object.property} пытаюсь вывести параметр name у объекта User который ранее передал через req.setAttribute("user",user);.
В дебаге у request - а req объект User присутствует но на странице получаю ${user.name}.
Servlet
public class TempComtroller extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
User user = new User();
req.setAttribute("user",user);
getServletContext().getRequestDispatcher("/view/start.jsp").forward(req,resp);
}
}
JSP Page
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Jsp Page Start</title>
</head>
<body>
${user.name}
</body>
</html>
User.class
public class User {
private String name = "No_Name";
private String email = "No_Email";
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
Ответы (1 шт):
Автор решения: Euraks
→ Ссылка
Причина была в неправильной конфигурации web.xml Правильная конфигурация :
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
</web-app>```