Jsf 在c:forEach循环中使用p:commandLink将参数传递给actionListener方法
我有一个对话框,其中包含命令链接内的图形图像列表。单击命令链接时,我希望将图像名称作为action listener方法参数传递 对话框的代码:Jsf 在c:forEach循环中使用p:commandLink将参数传递给actionListener方法,jsf,primefaces,parameters,facelets,graphicimage,Jsf,Primefaces,Parameters,Facelets,Graphicimage,我有一个对话框,其中包含命令链接内的图形图像列表。单击命令链接时,我希望将图像名称作为action listener方法参数传递 对话框的代码: <p:dialog id="idSchemaDlg5" widgetVar="schemaDlg" styleClass="maxSizeDialog" position="90,250" style="max-width:1000px;max-height: 1000px;" header="Schéma des circuits">
<p:dialog id="idSchemaDlg5" widgetVar="schemaDlg" styleClass="maxSizeDialog" position="90,250" style="max-width:1000px;max-height: 1000px;" header="Schéma des circuits">
<c:forEach id="schemaDataGrid" items="#{historyGenerationBean.schemaList}" var="fileCircuits" varStatus="schemaNum">
<h:panelGrid columns="1">
<h:outputText value="SiteG2R #{historyGenerationBean.g2rNames.get(schemaNum.index)}" style="font-family: Tahoma, Geneva, sans-serif;color: #ED7905;font-size: 16px;font-weight: bold;"/>
<c:forEach items="#{fileCircuits}" var="pictureNamesList">
<h:panelGrid columns="#{pictureNamesList.size()}">
<c:forEach items="#{pictureNamesList}" var="imageName">
<h:form>
<h:panelGroup style="width:6px">
<p:commandLink actionListener="#{historyGenerationBean.fetchMlpppInformation(imageName)}" >
<p:graphicImage value="#{imageStreamer.image}" >
<f:param name="imgName" value="#{imageName}" />
</p:graphicImage>
</p:commandLink>
<h:outputText value="#{imageName}" style="width:50%; font-family: Tahoma, Geneva, sans-serif; font-size:70%;color:black;background-color:transparent;text-align:left;"/>
</h:panelGroup>
</h:form>
</c:forEach>
</h:panelGrid>
</c:forEach>
</h:panelGrid>
</c:forEach>
</p:dialog>
如何解决此问题?我找到了解决方案
<p:dialog id="idSchemaDlg5" widgetVar="schemaDlg" styleClass="maxSizeDialog" position="90,250" style="max-width:1000px;max-height: 1000px;" header="Schéma des circuits">
<h:form id="schemaFormId" dir="#{login.dir}">
<ui:repeat value="#{historyGenerationBean.schemaList}" var="fileCircuits" varStatus="schemaNum">
<ui:repeat value="#{fileCircuits}" var="pictureNamesList">
<table>
<tbody>
<tr>
<ui:repeat value="#{pictureNamesList}" var="imageName">
<td>
<h:panelGrid columns="1">
<p:commandLink action="#{historyGenerationBean.fetchMlpppInformation}" update=":schemaFormId" >
<p:graphicImage value="#{imageStreamer.image}">
<f:param name="imgName" value="#{imageName}" />
</p:graphicImage>
<f:param name="imgName2" value="#{imageName}" />
</p:commandLink>
<h:outputText value="#{imageName}" style="width:50%; font-family: Tahoma, Geneva, sans-serif; font-size:70%;color:black;background-color:transparent;text-align:left;"/>
</h:panelGrid>
</td>
</ui:repeat>
</tr>
</tbody>
</table>
</ui:repeat>
</h:form>
</p:dialog>
非常感谢所有帮助我的人(@BalusC也是) 哪个JSF impl/版本?为什么不
而不是
?JSF-impl-2.1.2和ui:重复一次,我现在就试试。2.1.2很旧,有很多bug。改用当前的2.1.26。使用,图片以垂直方式显示,但我希望以水平方式显示。2.1.26版本未发生任何更改。
<p:dialog id="idSchemaDlg5" widgetVar="schemaDlg" styleClass="maxSizeDialog" position="90,250" style="max-width:1000px;max-height: 1000px;" header="Schéma des circuits">
<h:form id="schemaFormId" dir="#{login.dir}">
<ui:repeat value="#{historyGenerationBean.schemaList}" var="fileCircuits" varStatus="schemaNum">
<ui:repeat value="#{fileCircuits}" var="pictureNamesList">
<table>
<tbody>
<tr>
<ui:repeat value="#{pictureNamesList}" var="imageName">
<td>
<h:panelGrid columns="1">
<p:commandLink action="#{historyGenerationBean.fetchMlpppInformation}" update=":schemaFormId" >
<p:graphicImage value="#{imageStreamer.image}">
<f:param name="imgName" value="#{imageName}" />
</p:graphicImage>
<f:param name="imgName2" value="#{imageName}" />
</p:commandLink>
<h:outputText value="#{imageName}" style="width:50%; font-family: Tahoma, Geneva, sans-serif; font-size:70%;color:black;background-color:transparent;text-align:left;"/>
</h:panelGrid>
</td>
</ui:repeat>
</tr>
</tbody>
</table>
</ui:repeat>
</h:form>
</p:dialog>