java - 混合表达式和表达式语言(<%= %> 在 c :if) 内部

标签 java jsp expression

我需要访问 jsp 中的一些常量,遗憾的是 EL 没有提供任何功能。 有一些选项,例如非标准标签库,但我想保持它更加标准。

我尝试过:

<%@ page import = "com.jackdane.Constants"%>
<c:if test="${object.display == '<%=com.jackdane.Constants.YES %>}'">
//some display logic
</c:if>

但这似乎并没有起到作用。 我已经有一段时间没有使用表达式了,所以我可能犯了一个错误。欢迎任何意见。

编辑: 澄清一下,常量类不在我的控制范围内。它位于我收到的 jar 文件内。 它不包含 getter/setter。 只是私有(private)静态最终字符串

最佳答案

public class Constants
{

    public static final String YES = "yes";

    public String getYES()
    {
        return YES;
    }


}

jsp

<jsp:useBean id="cons" class="com.abc.Constants" scope="session"/>

<c:if test="${object.display == cons.YES}">

关于java - 混合表达式和表达式语言(<%= %> 在 c :if) 内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4679260/

相关文章:

java - ThreadExecutor 强制无限循环中执行线程

java - 如何模拟未作为参数传递的对象

jsp - JSTL 继续,在 foreach 内中断

java - 将 javascript 文件包含到 JSP 文件中

tsql - 如何测试 tsql 变量内容作为表达式

Java(类路径相对路径)和(文档相对路径)之间的区别?

java - Hibernate MySQL 查询错误“Join On 中的未知列”

java - 如果我在 JSP 中有 html 元素,那么执行顺序是什么?

c - L值到R值的转换

scheme - 将文字作为表达式求值(方案)