2011-06-29 17 views
30

me gustaría declarar algunos valores constantes utilizados por mi JSF 2 webapp dentro del archivo web.xml de este modo:JSF 2 - ¿Cómo puedo obtener un valor de parámetro de contexto de web.xml usando JSF EL?

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

conseguir estos valores desde el interior de un bean de respaldo es bastante fácil:

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

¿Cómo logro lo mismo desde dentro de una página de Facelets usando JSF EL para obtener el valor?

Respuesta

34

respuesta de Steve Taylor trabaja de hecho, pero hay una manera más sencilla utilizando el objeto JSF EL predefinido initParam.

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

Originalmente, este no funcionaba para mí porque se me olvidó poner las comillas simples alrededor del nombre de la clave y estaba volviendo una cadena vacía. Esta solución también debería funcionar con valores clave que contienen caracteres de puntos.

+0

hace esta solución funciona para JSF 1? –

6
#{facesContext.externalContext.initParameterMap.myconstantkey} 
0

A través de EL

${initParam['myconstantkey']} 
Cuestiones relacionadas