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

如何在Spring中从jsp表达式语言调用java常量变量?,java,jsp,spring-mvc,weblogic,scriptlet,Java,Jsp,Spring Mvc,Weblogic,Scriptlet,我花了一天的时间寻找正确的解决方案,但是运气不好! 问题是如何使用el${bean.objectName}从jsp调用java常量变量。最佳做法是什么 我想知道这是否可行,我对Spring和jsp还很陌生 常数类: public class RNConstant { public static final String HELLO_WORLD = "Hello World again!"; public static final String DEFAULT_LOCALE =

我花了一天的时间寻找正确的解决方案,但是运气不好! 问题是如何使用el${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";
}

在jsp中使用EL调用的期望值

 <p>${RNConstant.HELLO_WORLD}</p>
<p>${RNConstant.HELLO_WORLD}</p>
${RNConstant.HELLO\u WORLD}

我可以用scriptlet实现这一点,如下所示,但如果它在weblogic中运行,我就无法实现这一点。这在ApacheTomcatV7或v8中工作

<%@ page import="static id.co.telkom.common.RNConstant.*" %>
 ...
 ...
<%= HELLO_WORLD %>

...
...
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%>
                     ^--------^
home.jsp:2:18:标记“static”上的语法错误,此标记后面应该是标识符
^-------------------------------------^
home.jsp:11:19:HELLO\u无法解析世界
你好,世界!
^--------^
java版本:1.6

pom.xml

 spring
 <version>1.0.0-BUILD-SNAPSHOT</version>
 <properties>
    <java-version>1.6</java-version>
    <org.springframework-version>3.2.8.RELEASE</org.springframework-version>
    <org.springjs-version>2.0.5.RELEASE</org.springjs-version>
    <org.springws-version>2.2.1.RELEASE</org.springws-version>
    <org.springsecurity-version>3.2.3.RELEASE</org.springsecurity-version>
    <jackson-version>1.9.10</jackson-version>
    <org.aspectj-version>1.6.10</org.aspectj-version>
    <org.slf4j-version>1.6.6</org.slf4j-version>
 </properties>
弹簧
1.0.0-BUILD-SNAPSHOT
1.6
3.2.8.1发布
2.0.5.1发布
2.2.1.发布
3.2.3.1发布
1.9.10
1.6.10
1.6.6
Scriplet问题已通过以下代码解决,RNConstant的内容仍然相同

<%@ page import="id.co.telkom.common.RNConstant" %>
...
...
<%= RNConstant.HELLO_WORLD %>

...
...
干杯


Hendry

期望在jsp中使用EL调用

 <p>${RNConstant.HELLO_WORLD}</p>
<p>${RNConstant.HELLO_WORLD}</p>

如果无法创建getter,请选中import语句

<%@ page import="static id.co.telkom.common.RNConstant.*" %>
呼叫HELLO_WORLD常量使用

<p>${RNConstant.HELLO_WORLD}</p> <p>${RNConstant.HELLO_WORLD}</p>
${RNConstant.HELLO\u WORLD}

${RNConstant.HELLO\u WORLD}


hi,但是scriplet在apache tomcat v8服务器中工作。我无法得到getter将是保持import语句简单的原因。删除RNConstant后面的“*”,并删除开头的静态字。要调用HELLO_WORLD常量,请使用${RNConstant.HELLO_WORLD}

${RNConstant.HELLO_WORLD}

@gujralam hi,这并不能解决问题。错误消失了,但值没有出现。weblogic服务器上没有错误消息log@gujralam这应该作为一个answer@gujralam您好,谢谢,它现在可以工作了,它必须使用scriplet标签打印,您应该将其作为答案来写。我很困惑,您不能使用model.addAttribute(“nameuwishinjsp”,nameofvariableinjava)访问它们吗。我错了吗?@WeareBorg是的,我们可以这样做,但是,我试图实现的是创建一个常量类,该类可以直接从.jsp全局调用files@JordiCastilla编辑,应该使用scriplet标记来调用常量类而不是EL。@AdrianusHendry您的问题是如何使用表达式语言引用常量。给出的答案针对不同的问题,因此不应被接受为答案。