当按下p:commandButton时,需要将p:inputText的值传递给bean

时间:2011-06-28 20:14:54

标签: jsf

我有一个JSF-2.0对话框,它有三个p:inputText字段,当按下p:commandButton时,我想让bean访问它们的内容。我尝试过使用f:属性,但要么将我所放置的确切文本传递给'value',要么我尝试使用以下内容时为null:

<h:form id="form">  
            <p:dataTable var="config" value="#{configBean.configList}" selection="#{configBean.selectedConfigs}">
                <p:column selectionMode="multiple">               
                    <f:facet name="header">  
                            Delete?  
                    </f:facet>                      
                </p:column> 



            <p:column headerText="Name">
                <h:outputText value="#{config.name}" />  
            </p:column>  

            <p:column headerText="Key">
                <h:outputText value="#{config.key}" />  
            </p:column>  

            <p:column headerText="Value">
                <h:outputText value="#{config.value}" />  
            </p:column>  
        </p:dataTable>

        <p:commandButton value="Add Row" 
                         oncomplete="addRowDialog.show()"/>
        <p:commandButton value="Delete" 
                         action="#{configBean.deleteSelectedConfigs}"/>

        <p:dialog header="Add Row" widgetVar="addRowDialog"  id="dialog"
                  width="250" height="300" showEffect="explode" hideEffect="explode">  

            <h:outputLabel for="name2" value="Name:"/>
            <p:inputText id="name2" name="name2" required="true"/>

            <p:commandButton value="Submit" actionListener="#{configBean.addNewConfigProperty}" onclick="addRowDialog.hide()" update="config">              
            <f:attribute name="name1" value="#{requestScope.name2}"/>
            </p:commandButton>
        </p:dialog>                              
    </h:form>  

是否可以通过这种方式传递inputText中的值?

1 个答案:

答案 0 :(得分:2)

使用value的{​​{1}}属性将其内容绑定到支持bean值:

p:inputText

在你的bean中:

<p:inputText id="name2" value="#{myBean.myTextField}" required="true"/>

如果要将inputText绑定到其他数据类型,则需要converter