Java 将默认值设置为h:单击按钮选择一个菜单

Java 将默认值设置为h:单击按钮选择一个菜单,java,javascript,jsf,selectonemenu,Java,Javascript,Jsf,Selectonemenu,我在单击按钮时显示一个输出面板,它有一个SelectOne菜单项,默认情况下选择值1,当我更改某些值并单击“取消”按钮并重新打开输出面板时,将显示最后一个选定的值。有没有办法显示默认值“1”。。。提前谢谢 <a4j: outputPanel id="new"> <h:selectOneMenu id="menuID" value="#{myController.count}" immediate="true"> <f:selectItem itemLabel=

我在单击按钮时显示一个输出面板,它有一个SelectOne菜单项,默认情况下选择值1,当我更改某些值并单击“取消”按钮并重新打开输出面板时,将显示最后一个选定的值。有没有办法显示默认值“1”。。。提前谢谢

<a4j: outputPanel id="new"> 

<h:selectOneMenu id="menuID" value="#{myController.count}" immediate="true"> 
<f:selectItem itemLabel="1" itemValue="1" /> 
<f:selectItem itemLabel="2" itemValue="2" /> 
<f:selectItem itemLabel="3" itemValue="3" /> 
<f:selectItem itemLabel="4" itemValue="4" /> 
<f:selectItem itemLabel="5" itemValue="5" /> 
<f:selectItem itemLabel="6" itemValue="6" /> 
<f:selectItem itemLabel="7" itemValue="7" /> 
<f:selectItem itemLabel="8" itemValue="8" /> 
<f:selectItem itemLabel="9" itemValue="9" /> 
<f:selectItem itemLabel="10" itemValue="10" /> 
</h:selectOneMenu></td> 

<div id="popActionButtons"> 
<h:commandLink value="cancel" onclick="return closePoUpWindow(this);" /> 

<c1:ajaxCommandButton id="save" title="Save" 
onclick="return vailidatesav();" 
value="save" validationType="required" 
eventType="click" styleClass="inputButton" /></div> 
</div> 
</a4j: outputPanel>

您能在面板打开时重置“#{myController.count}”吗?问题是您将immediate=“true”放在SelectOne菜单上,因此在单击取消按钮时,表单将被提交,所有流程(如验证、转换、更新模型)都将在“应用请求值”阶段进行。这就是您看到最后一个值的原因。因此,您可以从SelectOne菜单中删除immediate=“true”并将其置于“取消”按钮上,或者必须在按钮单击上重置“#{myController.count}”,从而打开面板。

检查以下情况以了解问题

1.我认为您正在使用
对该变量计数。。如果是这种情况,请删除。
2.检查bean weather u r的构造函数,为该变量设置任何值count

如果以上情况都不是这样,我建议您最好使用java脚本

  • onload of page将默认值设置为下拉列表
  • 使用onclick事件取消按钮并调用java函数将下拉框值设置为1

  • 你是否在使用JS/服务器端的“取消”按钮功能?不,我只是关闭弹出窗口,当单击“取消”时,下面是代码,你可以用上面的语句更新你的问题。还可以共享
    closePoUpWindow()
    函数中的代码。