h:按钮和f:param JSF 2.1

时间:2014-02-26 04:42:41

标签: button jsf-2 parameter-passing

我必须在现有页面上添加一个按钮 我正在使用JSF 2.1.11,使用faces-config版本2.1。

我正在尝试使用以下代码:

<h:button value="Show Image" outcome="viewImage"> <f:param name="imageId" value="#{somebean.imageId}" /> </h:button>

没有 <f:param ...>,网页无异常加载。

使用 <f:param ...>会发生异常,因为 JSF无法在页面bean上找到布尔属性。这个不合适的属性决定了是否渲染面板组件。

  • 该面板中未包含<h:button>

  • 公开的布尔属性确实存在。

如果我删除<f:param ...>行,则页面加载正常。

思考? 谢谢!

1 个答案:

答案 0 :(得分:0)

由于没有明确理解的原因,现在它起作用了 问题可能是由项目或Tomcat 7服务器中某处的损坏引起的。

我讨厌如此不确定,但我多次执行以下步骤,有时候工作,有时不会:(1)从项目菜单清除eclipse项目 (2)从ant脚本清除项目(3)Tomcat clean(4)重建和重新部署

我还将此添加到web.xml:com.sun.faces.expressionFactorycom.sun.el.E​​xpressonFactoryImpl。

总之,这现在有效:

<h:button value="Show Image" outcome="viewImage">
    <f:param "imageId" value="#{someBean.imageId}"/>
</h:button>

您的里程可能会有所不同!