JSP 中的 Java 常量

2022-09-02 10:59:35

我有一个类来定义各种常量的名称,例如

class Constants {
    public static final String ATTR_CURRENT_USER = "current.user";
}

我想在JSP中使用这些常量,而不使用Scriptlet代码,例如:

<%@ page import="com.example.Constants" %>
<%= Constants.ATTR_CURRENT_USER %>

Apache非标准taglib中似乎有一个标签提供了此功能。但是,我找不到任何方法来下载这个taglib。我开始怀疑它是否已被弃用,并且功能已被移动到另一个(Apache)标签库?

有谁知道我可以从哪里获得这个库,或者如果它不可用,如果有其他方法可以在不使用脚本代码的情况下访问JSP中的常量?

干杯,唐


答案 1

在应用程序启动时,可以将常量类添加到 servletContext 中,然后在任何 jsp 页中访问它

servletContext.setAttribute("Constants", com.example.Constants);

然后在 jsp 页面中访问它

<c:out value="${Constants.ATTR_CURRENT_USER}"/>

(您可能必须为每个常量创建 getter)


答案 2

事实证明,还有另一个标签库提供相同的功能。它也适用于枚举常量。


推荐