使用临时值而不支持bean

时间:2016-07-05 07:19:50

标签: jsf primefaces

在一个主要面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的值保存在临时变量中,并在按钮的操作中使用它。

您是否有任何想法如何实现?

1 个答案:

答案 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}" />