h:未调用commandButton的操作

时间:2017-03-07 09:22:43

标签: jsf richfaces

我正在使用JSF 2.0,并且我在home.xhml的div部分中有一个commandButton。它不工作。我没有看到目标网页,仅保留在home.xhtml中。

home.xhmtl:

<div id="left_side">
    <ui:include src="login.xhtml" />
        <h:form>
           <h:commandButton value="register" action="register"/>
        </h:form>
</div>

register.xhtml位于h:body和h:form

和faces-config.xml配置:

<navigation-rule>
    <from-view-id>home.xhtml</from-view-id>
    <navigation-case>
        <from-outcome>register</from-outcome>
        <to-view-id>register.xhtml</to-view-id>
    </navigation-case>
</navigation-rule>

1 个答案:

答案 0 :(得分:0)

如果home.xhtmlregister.xhtml位于应用程序的根目录,那么您需要按如下方式定义导航规则:

<navigation-rule>
    <from-view-id>/home.xhtml</from-view-id>
    <navigation-case>
        <from-outcome>register</from-outcome>
        <to-view-id>/register.xhtml</to-view-id>
    </navigation-case>
</navigation-rule>

否则,您将添加相对于根的路径..这将由间隙

指示

<强>更新

实际上在您的情况下,您似乎并不真正需要commandButton生成的POST请求。一个生成GET请求的简单按钮似乎就足够了:

<h:button outcome="register" value="register" />