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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过常量在JSP EL中获取变量不起作用相关的知识,希望对你有一定的参考价值。

我使用GlassFish 4.1 web profile,据我所知使用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不起作用?

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

按照上面的说法更改您的代码,应该可以正常工作。这个对我有用。

以上是关于通过常量在JSP EL中获取变量不起作用的主要内容,如果未能解决你的问题,请参考以下文章

JSP中EL不起作用,显示为String

EL表达式和jsp标签

EL表达式

Jsp的EL作用

jsp--EL表达式

jsp&el&jstl-01