![](/img/trans.png)
[英]How to call JS function on click of JSF button and block page reload/navigation?
[英]how to call a page on a jsf button click
我正在使用JSF,尝试使用以下代码在数据表内单击按钮上调用页面
<h:column>
<h:outputText value=""/>
<h:commandButton id = "btn" value="History" action="#{Bean.showHistory}">
</h:commandButton>
</h:column>
我的bean类包含了一个返回成功的方法“showHistory”,我也在faces-config.xml中包含了导航规则,但仍然无法调用页面。 我的导航规则看起来
<managed-bean>
<managed-bean-name>Bean</managed-bean-name>
<managed-bean-class>
com.bean.HistoryBean
</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
<display-name>List</display-name>
<from-view-id>/BookList.jsp</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/History.jsp</to-view-id>
</navigation-case>
</navigation-rule>
Bean类由showHistory()组成
public String showHistory() {
return "success";
}
我可以帮忙解决这个问题吗?
确保将命令按钮放在h:form
元素中:它应该可以工作!
从你的源代码看,一切看起来都不错(当然包括Pier建议使用h:form
标签)。
尝试调试并检查是否完全调用了您的操作方法。
如果没有,那么也许你的from-view-id
元素不匹配。 作为测试,您可以尝试使用空元素(所有页面的默认导航):
<from-view-id></from-view-id>
如果这样做,那么问题在于你的from-view-id
元素。 也许它在不同的文件夹或大/小写错字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.