EL不在jsp 3.1中工作

时间:2016-09-19 06:48:21

标签: jsp el

我正在使用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 个答案:

答案 0 :(得分:1)

您应该能够使用以下方式直接访问会话属性:

 ${sessionScope.LOGIN.name}

PS:我建议你永远不要把Java代码放到JSP中,因为EL和JSTL存在。这将更具可读性;)

答案 1 :(得分:0)

试试这个,希望它有效:您需要使该变量可用于在EL / JSTL中访问它。因此,使用setAttribute,您可以设置值。     

    <%
    User user = (User)session.getAttribute("LOGIN");
    pageContext.setAttribute("userobj", user);
    %>
    ${userobj.name}