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

标签 java jsp jakarta-ee glassfish el

我使用 GlassFish 4.1 Web 配置文件,据我了解,它使用 EL 3.0。我按照此处解释的进行了所有操作 - https://stackoverflow.com/a/3735006/5057736但是我的这个解决方案的实现不起作用。

这是我的常量类(class)

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]}

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

关于java - 在 JSP EL 中通过常量获取变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44518143/

相关文章:

java - 是否可以在不首先生成客户端 stub /代理的情况下从 Java 客户端使用 EJB 3 Web 服务?

java - 如何通过 Cofoja 使用离线字节码编写器?

java - 我应该如何使用 servlet 和 Ajax?

java - Guice 多重绑定(bind)实例获得不同的依赖实例

java - 单击 html 表行的编辑链接以填充 EditDATA_form 字段。表数据由 servlet 对 jsp 的响应填充

java - HttpServletRequest#getPart 不存在?

java - 在 Java EE 7 中通过 id 查找 websocket session

jsp - Tomcat 没有将 .jsp 转换为 servlet?

java - 简单的客户端 - 服务器解释 - Java

java - 如果父对象不是单例,那么子对象也是单例吗?