通过常量在JSP EL中获取变量不起作用

时间:2017-06-13 09:56:02

标签: java jsp java-ee glassfish el

我使用GlassFish 4.1 web配置文件,据我所知使用EL 3.0。我按照这里解释的那样做了所有事情 - https://stackoverflow.com/a/3735006/5057736但是我对这个解决方案的实现不起作用。

这是我的常数类

public class CommonKeys {
    public static final String TITLE = "SOME_KEY";
}

这就是我设置属性的方法:

request.setAttribute(CommonKeys.TITLE, "TEST");

这是我的jsp:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="org.temp.CommonKeys"%>

<div> Method 1:<%=request.getAttribute(CommonKeys.TITLE)%></div>
<div> Method 2:${requestScope[CommmonKeys.TITLE]}</div>
<div> Method 3:${requestScope["SOME_KEY"]}</div>

这是我得到的输出

Method 1:TEST
Method 2:
Method 3:TEST

为什么方法2不起作用?

1 个答案:

答案 0 :(得分:0)

<c:set var="TITLE" value="<%=CommmonKeys.TITLE%>" />
Method 2:${requestScope[TITLE]}

按照以上所述更改您的代码,应该可以正常工作。它对我有用。