【发布时间】:2015-04-18 10:38:14
【问题描述】:
对不起我的英语。我有一个navigation-rule:
<navigation-rule>
<from-view-id>/pages/test/*</from-view-id>
<navigation-case>
<from-action>#{testMB.delete}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/pages/test/index.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
TestMB:
public String delete(Test test){
return SUCCESS;
}
还有test.xhtml:
<h:commandLink action="#{testMB.delete(testMB.instance)}">del</h:commandLink>
我点击del,但规则不起作用。如果我使用不带参数的删除方法Test test:
public String delete(){
return SUCCESS;
}
它正在工作。 arg 怎么用?
【问题讨论】:
-
delete()方法本身是否在参数化时被调用?由于您标记了 [jsf-2.2],我不怀疑您是否使用 EL 2.2 或更高版本运行? (它是一个单独的实体,与 JSF 没有紧密耦合)。 -
方法
delete(Test test)正在工作。但是navigation-rule不起作用。它以return null;工作。我使用来自org.glassfish的 jsf 2.2.1。 -
我没有尝试使用参数化操作方法进行显式导航,但可能不允许以这种方式使用参数化操作方法 -
<from-action>#{testMB.delete}</from-action>。