使用p:commandButton时没有导航

时间:2014-02-18 18:16:46

标签: jsf jsf-2 primefaces

这是一个Facelets文件,用于获取名字和姓氏,之后将转到另一个Facelets文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <h:head><title>User Form</title></h:head>

    <h:body>
    <h:form>
        <h:panelGrid columns="2">
            <p:graphicImage value="resources/images/image.jpg" width="50%"/>

            <p:panelGrid columns="2" width="50%">
                <f:facet name="header">
                    User Form
                </f:facet>
                <h:outputLabel for="firstname" value="Firstname: *"/>
                <p:inputText id="firstname" value="" label="Firstname"/>

                <h:outputLabel for="surname" value="Surname: *"/>
                <p:inputText id="surname" value="" required="true" label="Surname"/>

                <f:facet name="footer">
                    <p:commandButton type="button" value="Save" icon="ui-icon-check" style="margin:0" action="construction"/>
                </f:facet>
            </p:panelGrid>
        </h:panelGrid>
    </h:form>
</h:body>
</html>

当我按下&#34; Save&#34;我预计会转到construction.xhtml。按钮,但没有任何反应。这是怎么造成的,我该如何解决?

1 个答案:

答案 0 :(得分:1)

当您使用commandButton时,您必须执行以下操作:

<p:commandButton  value="Save" icon="ui-icon-check" style="margin:0" action="#{someBean.navigate}"/>

这意味着您必须使用managed bean

在您的情况下,您必须使用button代替commandButton