在一个主要面overlayPanel
内,我向用户询问一个值,之后会直接重复使用。所以我不想把它保存在一个支持bean中。
以下是代码:
<p:overlayPanel id="ovlpanel" for="copy" hideEffect="fade" style="width:300px">
<h:form>
<p:panel id="grid" header="#{msg.copy_item}">
<h:panelGrid columns="2" cellpadding="5"
styleClass="ui-panelgrid-blank">
<p:outputLabel value="#{msg.number_of_copies}: " for="number_of_copies" />
<p:column>
<p:inputText id="number_of_copies"
value="tempValNumberOfCopies" />
</p:column>
</h:panelGrid>
<p:commandButton
action="#{controller.copyItem(tempValNumberOfCopies)}"
value="#{msg.copy}" />
</p:panel>
</h:form>
</p:overlayPanel>
我想将tempValNumberOfCopies
的值保存在临时变量中,并在按钮的操作中使用它。
您是否有任何想法如何实现?
答案 0 :(得分:1)
您可以使用隐式范围,例如
<p:inputText id="number_of_copies"
value="requestScope.tempValNumberOfCopies" />
<p:commandButton action="#{controller.copyItem(requestScope.tempValNumberOfCopies)}"
value="#{msg.copy}" />
或
<p:inputText id="number_of_copies"
value="viewScope.tempValNumberOfCopies" />
<p:commandButton action="#{controller.copyItem(viewScope.tempValNumberOfCopies)}"
value="#{msg.copy}" />