Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

java

jsf-2

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?

like image 549
Jim Tough Avatar asked Jun 29 '11 15:06

Jim Tough


2 Answers

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.

like image 81
Jim Tough Avatar answered Sep 16 '22 11:09

Jim Tough


#{facesContext.externalContext.initParameterMap.myconstantkey} 
like image 32
Steve Avatar answered Sep 18 '22 11:09

Steve