JSF页面中的动态操作



我有一个JSF页面。我的CommandButton操作方法值取决于bean变量值。示例:Bean headerBean具有值为"someBean.doAction1()"的可变actionValue

当我使用时,它说headerBean.actionValue不是一个正确的方法。

如何将操作值获取为"someBean.doAction1"而不是headerBean.actionValue.

谢谢,

您可以使用大括号表示法。

<h:commandButton value="submit" action="#{someBean[headerBean.actionValue]}" />

#{headerBean.actionValue}返回字符串(例如doAction1)时,这将有效地调用#{someBean.doAction1}

如果要调用的bean名称当前实际在actionvalue中(headerBean.actionValue返回someBean.doAction1),则需要将其拆分为一个返回bean名称的字段和一个返回方法名称的字段,然后使用

<h:commandButton value="submit" action="#{requestScope[headerBean.beanName][headerBean.actionValue]}" />

如果headerBean.beanName返回"someBean",而headerBean.actionValue返回doAction1,则以上将调用#{somebean.doAction1}

相关内容

  • 没有找到相关文章

最新更新