我想预先填写表单,但不能在加载页面时预先填充,但是当用户按下按钮时。就像“根据产品ID(用户必须编写)填写有关产品信息的表格”。您可以在下面链接的图片上看到示例。这个commandButton“获取数据”使他的工作和填充表单上的字段,但是当我提交表单时,产品名称,权重和描述的值为NULL,这很可能是因为JSF生命周期(在第一次提交应用程序转到第5步之后)和JSF生命周期中的6),有人可以帮助我吗?感谢
<?xml version="1.0"?>
<f:view
xmlns="http://www.w3.org/1999/xhtml"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://java.sun.com/jsf/facelets"
>
<h:head>
</h:head>
<h:body style="vertical-align:middle;margin:auto">
<h:form enctype="multipart/form-data">
<p:growl id="growl" life="2000" />
<div id="container">
<div class="divs">
<p class="header_single">Example</p>
<table class="tablica">
<tr>
<td>
<p:outputLabel for="p_id" value="Product ID:*" styleClass="f_text" />
<p:inputText id="p_id" value="#{formValidationBean1.mbo}" required="true" requiredMessage="Required field">
<f:ajax event="blur" render="err_msg1"/>
</p:inputText>
</td>
<td class="butt">
<p>
<p:commandButton value="Fetch data" actionListener="#{formValidationBean1.fillForm}" update="p_name p_weight p_desc" icon="ui-icon-refresh" />
</p>
</td>
<td>
<p>
<p:message id="err_msg1" for="p_id" />
</p>
</td>
<td>
</td>
</tr>
<tr>
<td>
<p:outputLabel for="p_name" value="Product name:*" styleClass="f_text" />
<p:inputText id="p_name" value="#{formValidationBean1.pName}" readonly="true"></p:inputText>
</td>
<td>
<p:message for="p_name" display="text" />
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>
<p:outputLabel for="p_weight" value="Product weight:" styleClass="f_text" />
<p:inputText id="p_weight" value="#{formValidationBean1.pWeight}" readonly="true"></p:inputText>
</td>
<td>
<p:message for="p_weight" display="text" />
</td>
<td>
<p:outputLabel for="p_desc" value="Product description:" styleClass="f_text" />
<p:inputText id="p_desc" value="#{formValidationBean1.pDesc}" readonly="true"></p:inputText>
</td>
<td>
<p:message for="p_desc" display="text" />
</td>
</tr>
</table>
</div>
<div class="submit">
<p:commandButton value="Submit" id="ajax" update="growl" actionListener="#{formValidationBean1.someAction}" styleClass="button" />
</div>
</div>
</h:form>
</h:body>
</f:view>