将selectOneMenu中的值动态添加到返回的bean

时间:2015-01-26 10:25:04

标签: jsf jsf-1.2 selectonemenu

我有一个使用JSF1.2的旧Java应用程序

我从后端层返回一个bean:

<p>You have &pound;${myvalue}</p>

显示为您有100英镑

我在同一页面上有一个selectOneMenu:

<h:selectOneMenu value=“#{value}" required="true" requiredMessage="Please select a value.">
  <f:selectItem itemValue="#{null}" itemLabel=“Please Select" />
  <f:selectItem itemValue=“1" itemLabel=“£1" />
  <f:selectItem itemValue=“2" itemLabel=“£2" />
  <f:selectItem itemValue=“3" itemLabel=“£3" />
  <f:selectItem itemValue=“4" itemLabel=“£4" />
  <f:selectItem itemValue=“5" itemLabel=“£5" />
</h:selectOneMenu>

当用户从下拉列表中选择一个值时,如何将它添加到显示器上方的bean中给用户:

<p>You will have &pound;${myvalue + itemValue}

因此,如果选择了itemValue 1,它将显示:

You will have £101

1 个答案:

答案 0 :(得分:0)

这对我有用。如果bean.currentValue=100并且我选择<f:selectItem itemValue="2" itemLabel="£2" />,结果将为102.

<h:form>         
<p>You have &pound;${bean.currentValue}</p>
            <br />
<h:selectOneMenu value="#{bean.selectedValue}" required="true" requiredMessage="Please select a value." id="menu">
  <f:selectItem itemValue="#{null}" itemLabel="Please Select" />
  <f:selectItem itemValue="1" itemLabel="£1" />
  <f:selectItem itemValue="2" itemLabel="£2" />
  <f:selectItem itemValue="3" itemLabel="£3" />
  <f:selectItem itemValue="4" itemLabel="£4" />
  <f:selectItem itemValue="5" itemLabel="£5" />
  <f:ajax listener="#{bean.listener}" render="result"></f:ajax>
</h:selectOneMenu>
            <br />

You will have &pound;<h:outputText id="result" value="${bean.currentValue + bean.selectedValue}" />
</h:form>