我正在尝试 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 类型安全导航的优势。
那么有没有可能将这两个功能结合起来呢?(传递视图参数并使用类型安全导航)
提前致谢!