EL не работает в JSP 3.1
Я использую Eclipse Mars, JDK8, Tomcat 8.
это моя страница JSP
<%@page import="com.cutm.pogo.User"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>User Page</title>
<link href="css/nodue_style.css" rel="stylesheet" type="text/css" />
<%@ page isELIgnored="false" %>
........
<% User user = (User)session.getAttribute("LOGIN");
out.print(user.getName()); %>
${user.name }
Я использовал out.print, который работает на меня, но не EL.
вот файл web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
пожалуйста, помогите найти ошибку, которую я сделал.
2 ответа
Решение
Вы должны иметь доступ к атрибуту сеанса напрямую, используя:
${sessionScope.LOGIN.name}
PS: я рекомендую вам никогда не помещать Java-код в JSP, поскольку существуют EL и JSTL. Это будет более читабельным;)
Попробуйте, надеюсь, это сработает: вам нужно сделать эту переменную доступной для доступа к ней в EL / JSTL. Таким образом, используя setAttribute, вы можете установить значение.
<% Пользователь user = (Пользователь) session.getAttribute ("LOGIN"); pageContext.setAttribute ("userobj", пользователь); %> $ {Userobj.name}