繁体   English   中英

如何在jsf按钮上调用页面单击

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM