如何使用EL在JSF 1x中获取init参数

时间:2013-05-14 08:30:12

标签: jsf el init-parameters

我有一个上下文参数如下:

  <context-param>
    <param-name>myInitParam</param-name>
    <param-value>myValue</param-value>
  </context-param>

我想在JSF 1x中获得一个初始化参数(确切版本是1.1.02),如下所示:

<object>
<param name="HTTPPort" value="#{initParam.myInitParam}" />

但是我在JSP中遇到了编译器错误:

the attributes for a standard action or an uninterpreted tag cannot be deferred expressions

请告知如何在JSF 1x中获取init参数,以及JSF 1x中使用的EL参考是什么。

1 个答案:

答案 0 :(得分:1)

EL变量是正确的,但您不能在遗留JSP中的模板文本中使用延迟EL #{},这是JSF 1.x中的默认视图技术。这正是错误消息试图告诉您的内容。

您需要使用<h:outputText>打印它。

<f:verbatim><param name="HTTPPort" value="</f:verbatim><h:outputText value="#{initParam.myInitParam}" /><f:verbatim>" /></f:verbatim>

(请注意,我假设您已经使用<f:verbatim>发布了普通HTML)

是的,这是丑陋的一条线,但这是使用JSP的回报,也是Facelets被引入的主要原因之一。

另见: