我正在使用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">
请帮助我找到错误。
答案 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}