我在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.感谢你。
答案 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()}";
或其他任何需要