在最终表单提交之前,在按钮上预填充JSF表单

时间:2015-04-07 07:12:31

标签: forms jsf jsf-2 primefaces lifecycle

我想预先填写表单,但不能在加载页面时预先填充,但是当用户按下按钮时。就像“根据产品ID(用户必须编写)填写有关产品信息的表格”。您可以在下面链接的图片上看到示例。这个commandButton“获取数据”使他的工作和填充表单上的字段,但是当我提交表单时,产品名称,权重和描述的值为NULL,这很可能是因为JSF生命周期(在第一次提交应用程序转到第5步之后)和JSF生命周期中的6),有人可以帮助我吗?感谢

Screenshot - Form example

<?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>

0 个答案:

没有答案