JSF f:param name属性中的EL表达式

时间:2017-11-29 21:03:50

标签: jsf

我尝试了以下内容:

像我使用的小脸一样:

...
<h:button value="x" outcome="nextpage">
  <f:param name="#{myBean.PARAM_NAME}" value="someValue"/>
</h:button>
...

像我用作上一个facelet的控制器的托管bean之类的东西:

@Named(value="myBean")
@ViewScoped
public MyBean implements Serializable
{
  private static final String PARAM_NAME = "paramName";

  public String getPARAM_NAME()
  { return PARAM_NAME };

  @PostConstruct
  public void init()
  {
    String passedParamValue = (String) FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(
PARAM_NAME );
    ...
  }
}

这样做的好处是:我在两个地方使用param名称。在facelet和托管bean中也是如此。这两个地方是分开的。我应该使用常量来减少错误输入的可能性。但似乎name的{​​{1}}不会评估EL表达式。 (f:param始终为passedParamValue)。但是,如果我直接将文本'paramName'连接到null属性,它可以正常工作。我是对的还是有办法在这里使用常数?

0 个答案:

没有答案