Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
389 views
in Technique[技术] by (71.8m points)

java - JSF 2 - How can I get a context-param value from web.xml using JSF EL?

I would like to declare some constant values used by my JSF 2 webapp inside the web.xml file like so:

<web-app>
    <context-param>
        <param-name>myconstantkey</param-name>
        <param-value>some string value</param-value>
    </context-param>
</web-app>

Getting these values from inside a backing bean is easy enough:

FacesContext ctx = FacesContext.getCurrentInstance();
String myConstantValue =
    ctx.getExternalContext().getInitParameter("myconstantkey");

How do I achieve the same thing from inside a Facelets page using JSF EL to get the value?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Steve Taylor's answer does indeed work, but there is a simpler way using the JSF EL pre-defined object initParam.

<h:outputText value="#{initParam['myconstantkey']}" />

Originally this wasn't working for me because I forgot to put the single quotes around the key name and was getting back an empty string. This solution should also work with key values that contain dot characters.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...