相关疑难解决方法(0)

如何在EL中引用常量?

如何在JSP页面上引用EL常量?

我有一个Addresses名为常量的接口URL.我知道我可以通过以下方式用scriplet引用它:<%=Addresses.URL%>,但是我如何使用EL来做到这一点?

jsp constants el

102
推荐指数
7
解决办法
7万
查看次数

访问JSP中的常量(没有scriptlet)

我有一个类定义各种会话属性的名称,例如

class Constants {
    public static final String ATTR_CURRENT_USER = "current.user";
}
Run Code Online (Sandbox Code Playgroud)

我想在JSP中使用这些常量来测试这些属性的存在,例如:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="com.example.Constants" %>

<c:if test="${sessionScope[Constants.ATTR_CURRENT_USER] eq null}">
    <%-- Do somthing --%>
</c:if>
Run Code Online (Sandbox Code Playgroud)

但我似乎无法使sytax正确.另外,为了避免在多个地方重复上面相当冗长的测试,我想将结果分配给本地(页面范围)变量,并改为引用它.我相信我可以这样做<c:set>,但我再次努力找到正确的语法.

更新:继续下面的建议,我试过:

<c:set var="nullUser" scope="session"
value="${sessionScope[Constants.ATTR_CURRENT_USER] eq null}" />
Run Code Online (Sandbox Code Playgroud)

这没用.所以相反,我尝试替换常量的字面值.我还将常量添加到页面的内容中,因此我可以在呈现页面时验证常量的值

<c:set var="nullUser" scope="session"
value="${sessionScope['current.user'] eq null}" />
<%= "Constant value: " + WebHelper.ATTR_CURRENT_PARTNER %>
Run Code Online (Sandbox Code Playgroud)

这工作正常,它在页面上打印了期望值"current.user".我无法解释为什么使用String文字工作,但是当两个看起来具有相同的值时,对常量的引用不会.救命.....

java session jsp jstl

26
推荐指数
2
解决办法
7万
查看次数

如何在Spring中从JSP表达式语言调用Java常量变量?

我花了一天时间寻找正确的解决方案,但没有运气!问题是,例如,如何使用jel $ {bean.objectName}从jsp调用Java常量变量。最佳做法是什么?

我想知道这是否可行,对于Spring和jsp来说还是很新的。

常量类:

public class RNConstant {
     public static final String HELLO_WORLD = "Hello World again!";
     public static final String DEFAULT_LOCALE = "id_ID";
     public static final String CONTEXT_PATH_SOAP_SR = "soap.sr";
}
Run Code Online (Sandbox Code Playgroud)

用EL调用jsp中的期望

 <p>${RNConstant.HELLO_WORLD}</p>
Run Code Online (Sandbox Code Playgroud)

我可以使用scriptlet进行以下操作,但是如果它在weblogic中运行,则无法正常工作。这适用于apache tomcat v7或v8

<%@ page import="static id.co.telkom.common.RNConstant.*" %>
 ...
 ...
<%= HELLO_WORLD %>
Run Code Online (Sandbox Code Playgroud)

Weblogic中的错误

home.jsp:2:18: Syntax error on token "static", Identifier expected after this token
<%@ page import="static id.co.telkom.common.RNConstant.*" %>
             ^-------------------------------------^
home.jsp:11:19: HELLO_WORLD cannot be resolved
Hello world!  <%=HELLO_WORLD%>
                     ^--------^
Run Code Online (Sandbox Code Playgroud)

Java版本:1.6

pom.xml

 spring
 <version>1.0.0-BUILD-SNAPSHOT</version>
 <properties> …
Run Code Online (Sandbox Code Playgroud)

java jsp weblogic spring-mvc scriplets

3
推荐指数
1
解决办法
5463
查看次数

标签 统计

jsp ×3

java ×2

constants ×1

el ×1

jstl ×1

scriplets ×1

session ×1

spring-mvc ×1

weblogic ×1