选择p:selectOneMenu从primefaces

时间:2015-05-15 05:01:14

标签: jsf primefaces

我正在使用primefaces开发一个项目。

代码:

<p:panel id="accountPolicyRichPanel">
    <h:panelGrid id="outputPanelGrid">

         <h:outputText value=""...../>
         <p:inputText id="InputTextId"/>

        <p:selectOneMenu id="suspendTypeId" value="...">
             <f:selectItems value="#{AccountPolicy.suspendTypeItemList}"/>
             <p:ajax listener="#AccountPolicy.suspendTypeComboboxAction}"event="change" update="outputPanelGrid"/>
        </p:selectOneMenu>
   </panelGrid>

        <p:commandButton id="saveButtonId" value="..." action="..."
              update="accountPolicyRichPanel" />

</p:panel>

我的问题是当我选择<p:selectOneMenu>时,<h:panelGrid id="outputPanelGrid">我在<p:inputText id="InputTextId"/>中删除了之前输入的值。{/ p>

如何更新<h:panelGrid id="outputPanelGrid"><p:panel>而不删除p:inputText中之前输入的值。

2 个答案:

答案 0 :(得分:0)

您必须从更新中排除with open('/home/cam/Documents/1.txt','rb') as f: f_out=open('mytxt','w+') lines=f.readlines() new_lines=[line.strip() if line == '\n' else line for line in lines] #print new_lines space_index=[i for i, x in enumerate(new_lines) if x == ""] new_list=[0]+space_index for i in range(len(new_list)): try: mylist=new_lines[new_list[i]:new_list[i+1]] except IndexError, e: mylist=new_lines[new_list[i]:] mylist=mylist[1:] mylist1=[i.strip() for i in mylist] mylist1[2] = " ".join(mylist1[2:]) final=mylist1[:3] finallines=[i+"\n" for i in final] print finallines for i in finallines: f_out.write(i) 或将此输入添加到执行中,因为Ajax默认只处理当前组件,如execute =&#34; @ this&#34;。

e.g。执行:              <p:inputText id="InputTextId"/>

答案 1 :(得分:0)

你至少应该在inputText上放一个value="#{bean.someField}"。如果不存在,您输入的值将在ajax提交和更新过程中丢失,因为它无法存储在服务器上。 这是所有基本的jsf而不是PF相关。

您可能能够优化表单提交(提交的字段和不提交的字段,处理的字段和不处理的字段),但这是:不同的东西

另见