参数从窗口传递到另一个窗口

时间:2014-02-03 09:24:06

标签: java javascript

我在window1中有这个xhtml页面,

<h:form id="form">
    <p:growl id="messages" showDetail="true" />  
 <p:panel  id="fourP" style="width : 664px;" header="Supprimer un article">
             <br /> 
              <h:outputText value="Fournisseur :" style=" FONT-WEIGHT: bold; FONT-SIZE: small;" /> 
              <p:inputText value="#{articleinbean.artinstk.fournisseur}"  />
              <p:commandButton value=" " style="width:20px;height:30px" onclick="window.open('#{facesContext.externalContext.requestContextPath}/faces/Fournisseur/Listefournisseur.xhtml','mywindow','width=400,height=200,left=0,top=100,screenX=0,screenY=100')" />            

   <p:commandButton value="Ajouter" action="#{articleinbean.ajouterarticlein()}" update=":form:messages"  />


</p:panel>

 </h:form>

如你所见,有一个按钮可以打开一个新的窗口窗口2,这个窗口包含一个Fournisseur

的列表
<h:form id="form">




       <p:dataTable id="cars" var="car" value="#{articleinbean.listefour()}" rowKey="#{car.idfourlivr}"  
                 selection="#{articleinbean.selectedfourlivr}" selectionMode="single" >  


                  <p:ajax event="rowSelect"  oncomplete="carDialog.show()"  listener="#{familleBean.onRowSelect}" />  

        <f:facet name="header">  
           Liste des articles 
        </f:facet> 
         <p:column headerText="Numero de fournisseur" >  
            #{car.idfourlivr}  
        </p:column>  

        <p:column headerText="Nom de fournisseur">  
            #{car.nomfourlivr}  
        </p:column>    
   </p:dataTable>  



     </h:form>

我想在这里做的是在窗口中的inputext Fournisseur中的window2中显示所选的<p:inputText value="#{articleinbean.artinstk.fournisseur}" />名称,这意味着将Fournisseur.getName()从window2传递到{{ 1}}在窗口中1.感谢你。

2 个答案:

答案 0 :(得分:0)

你的豆子怎么样?如果正确设置了fournisseur的setter / getter,那么在按下命令按钮的时候,应该已经设置了它的值。你应该能够在下面的窗口中看到它。另外,如果您使用的是JSF版本2及更高版本,则不需要在操作或值中的方法后附加括号()。

答案 1 :(得分:-1)

没有看到你的HTML,如果你需要推迟设置值,我建议给你的命令按钮一个ID,并在内联脚本中使用这个脚本

window.onload=function() {
  var win;
  document.getElementById("commandButton").onclick=function
    win=window.open('#facesContext.externalContext.requestContextPath}/faces/Fournisseur/Listefournisseur.xhtml',
  'mywindow',
  'width=400,height=200,left=0,top=100,screenX=0,screenY=100');
  }
}

然后你可以做

win.document.getElementById("inputTextID").value="#{Fournisseur.getName()}";

或其他任何需要