dataTable内的JSF commandlink不工作
单击下面代码中的dataTable内的JSF commandlink不工作,jsf,Jsf,单击下面代码中的commandLink按钮不会重定向到目标页面: <h:form> <h:dataTable value="#{studentController.students}" var="studentData" > <h:column> <f:facet name="header">Action</f:facet> <h:commandLink value="Upda
commandLink
按钮不会重定向到目标页面:
<h:form>
<h:dataTable value="#{studentController.students}" var="studentData" >
<h:column>
<f:facet name="header">Action</f:facet>
<h:commandLink value="Update" action="update.xhtml"/>
</h:column>
</h:dataTable>
</h:form>
行动
这不是h:commandLink
的工作方式。看一看。属性操作
应包含
javax.el.MethodExpression
(签名必须与java.lang.Object action()匹配)
MethodExpression,表示用户激活此组件时要调用的应用程序操作。表达式必须求值为不带参数的公共方法,并返回一个对象(调用该对象的toString()以派生逻辑结果),该对象将传递给此应用程序的NavigationHandler
所以它应该是这样的:
<h:commandLink value="Update" action="#{someBean.action}" />
在faces config.xml
中,您应该添加一条导航规则:
<navigation-rule>
<from-view-id>/list.xhtml</from-view-id>
<navigation-case>
<from-outcome>update</from-outcome>
<to-view-id>/update.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
不准确的这不是问题所在。
的有效方式与
相同。此外,由于JSF2.0(2009),这种情况下不需要导航规则。一定错过了。
<navigation-rule>
<from-view-id>/list.xhtml</from-view-id>
<navigation-case>
<from-outcome>update</from-outcome>
<to-view-id>/update.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
<h:commandLink value="Update" action="update"/>