【发布时间】:2015-10-01 08:16:56
【问题描述】:
我有一个丰富的:模态面板(代码如下)。我想将#{currentLeg} 传递给action="#{legHandler.assignAndInitLoadPlanning} 中调用的方法。但是当我调试时,在方法@987654323@,resolveVariable("currentLeg"); 返回一个对象,其所有属性值都等于null。它的属性不应该为空。
此外,这个rich:modal 是从同一个jsp 文件上的a4j:commandLink onclick="showUnitDialog(); 调用的。如果我将上面所说的 onclick 更改为 onclick="#{legHandler.assignAndInitLoadPlanning}",则 currentleg 将被正确传递,但我不能这样做,因为我需要显示一个弹出窗口(这是一个 rich:modalpanel)。我正在使用 JSF 1。
我已经尝试过保持活动并设置变量,但仍然无法正常工作。 currentLeg 似乎没有正确通过。你知道为什么吗?
<rich:modalPanel id="unitDialog" width="400" height="100">
<f:facet name="header">
<h:panelGroup>
<h:outputText value="Please Select Unit for the Leg"></h:outputText>
<h:outputText value="#{currentLeg.legId}"></h:outputText>
</h:panelGroup>
</f:facet>
<h:panelGrid width="100%" columns="2" columnClasses="colStyle1, colStyle2">
<h:selectOneRadio value="legHandler.unit">
<f:selectItem itemValue="kg" itemLabel="kg" />
<f:selectItem itemValue="lb" itemLabel="lb" />
</h:selectOneRadio>
</h:panelGrid>
<h:panelGrid style="text-align: center" columns="3"
columnClasses="col1, col2" width="100%">
<a4j:commandButton value="Apply" styleClass="big_btn"
id="applyButton" immediate="true"
action="#{legHandler.assignAndInitLoadPlanning}"
oncomplete="{#{rich:component('unitDialog')}.hide();}">
</a4j:commandButton>
<a4j:commandButton value="Cancel" styleClass="big_btn"
immediate="true"
id="closeUnitPopupDialog"
onclick="#{rich:component('unitDialog')}.hide();"/>
</h:panelGrid>
</rich:modalPanel>
【问题讨论】:
标签: jsf richfaces parameter-passing