我刚刚更改了用户输入数据的方式,从使用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。是什么导致了这种情况,有没有办法成功输入数据以将用户带到正确的页面?
谢谢。