我刚刚更改了用户输入数据的方式,从使用<h:
到<:p
来自primefaces库,现在当数据已成功添加到数据库时,它不再自动将用户相关页面。只有我所做的更改是不是使用下面的代码输入数据:完成后未导航到网页
<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。什么会导致这种情况,并且是否有成功输入数据的方法来将用户带到正确的页面?
谢谢。
由于已经做的伎俩很多! – user1924104
我的回答有什么问题(之前几分钟发布)? – Lester