0

我刚刚更改了用户输入数据的方式,从使用primefaces 库<h:<:p现在,当数据成功添加到数据库时,它不再自动将用户带到相关页面。我所做的唯一更改是不使用下面的代码输入数据:

<h:messages showDetail="true" /> 

<h:outputText value="Enter Name : " />
<h:inputText value="#{user.name}" />
<br></br>               
<h:outputText value="Enter email address : "/>
<h:inputText id="email" value="#{user.email}" 
    size="20" required="true" label="Email Address">
  <f:validator validatorId="richard.test.EmailValidator" />
</h:inputText>
<br></br>
<h:outputText value="Enter your address : "/>
<h:inputText value="#{user.address}" />   
<br></br>

<h:outputText value="Enter Created Date : "/>
<h:inputText value="#{user.created_date}">
  <f:convertDateTime pattern="yyyy-MM-dd"/>
</h:inputText>
<br></br>

<br></br>
<h:message for="email" style="color:red" />

<h:commandButton value="Insert" action="#{user.add}"/>

如果我运行上面的代码而不是下面的代码,上面的代码仍然有效:

<h:form>
    <p:growl id="growl" showDetail="true" sticky="true" />

    <p:panel header="Growl">
        <h:panelGrid columns="2">
            <h:outputText value="Enter Name : " />
            <h:inputText value="#{user.name}" required="true" />

            <h:outputText value="Enter email address : " />
            <h:inputText id="email" value="#{user.email}" size="20" required="true" label="Email Address">
                <f:validator validatorId="richard.test.EmailValidator" />
            </h:inputText>
            <h:outputText value="Enter your address : " />
            <h:inputText value="#{user.address}" />

            <h:outputText value="Enter Created Date : " />
            <h:inputText value="#{user.created_date}">
                <f:convertDateTime pattern="yyyy-MM-dd" />
            </h:inputText>
        </h:panelGrid>

        <p:commandButton value="Save" actionListener="#{user.add}" update="growl" />
    </p:panel>
</h:form>

<h:form>
    <h:messages showDetail="true" />
</h:form>

更改背后的原因是为了更好地查看用户,但是虽然它看起来很专业并将所有数据添加到数据库中,但它不再将用户发送到页面是成功的等等,尽管faces-config.xml文件没有更改。唯一的变化是使用primefaces。是什么导致了这种情况,有没有办法成功输入数据以将用户带到正确的页面?

谢谢。

4

2 回答 2

2

您的 p:commandButtonuser.add作为 actionListener 调用,而不是像第一个示例中的 h:commandButton 这样的操作。只需切换到操作,这应该会导致您希望它具有的行为。

于 2013-10-20T21:01:24.317 回答
0

如果您想在 to 中使用 JSF 的隐式导航更改-actionListener属性。就是这样。<p:commandButton>action

于 2013-10-20T20:54:42.000 回答