我正在尝试MyFaces CODI的出色功能。一个非常有用的东西是类型安全导航。我可以在控制器bean中指定操作方法的结果,如下所示:
public Class<? extends ViewConfig> goBack() {
return Pages.ListView.class;
}
这真的很酷,因为每个开发IDE都具有过度的重构能力。
但是,当我想使用此功能时,在将viewParameter传递到下一个视图时遇到了问题。我必须使用命令按钮来调用此操作方法,如下所示:
<h:commandButton id="backButton" value="#{msgs.Button_Back}"
action="#{viewBean.goBack()}" />
如果使用此命令按钮,则无法传递参数。使用“常规”按钮或链接即可:
<h:button id="backButton" value="#{msgs.Button_Back}" outcome="siteBefore.xhtml">
<f:param name="itemId" value="5" />
</h:button>
缺点是“常规”按钮不使用操作方法,因此我无法利用CODI的类型安全导航的优势。
那么有可能将这两个功能结合起来吗? (传递viewparams并使用类型安全的导航)
提前致谢!
最佳答案
他们实现了您要寻找的东西。见https://issues.apache.org/jira/browse/EXTCDI-216