问题描述:
目前我所实验过的h:selectOneMenu的每个f:selectItem如果被选中,当表单提交后h:selectOneMenu就有值了,即使选中的f:selectItem 的itemDisabled="true"也照样会被提交,这样就不是我们想要的了,比如我们的下拉项中的第一个是“---请选择--”,这表明我们还没有选择,那么提交后选择框是不应该有值的。
解决办法:
在该值的set方法中判断,如果是“--请选择--”选项对应的值就不直接放回,这样它的值就还是null,相当与没有选择任何选项。
<h:selectOneMenu value="classA.type">
<f:selectItem itemVlue="0">请选项</f:selectItem>
<f:selectItem itemVlue="1">选项1</f:selectItem>
</h:selectOneMenu>
public void setType(String type){
if("0".equals(type))return;
this.type=type;
}
希望的解决办法:
1)itemDisabled="true"属性起到作用,选择后不会提交
2)给h:selectOneMenu增加个属性,说明第几项开始后的选项才会被提交。
以前用过的webwork中下来组件有这种功能,可能selectOneMenu也可以,请高手们执教如何使用。
分享到:
相关推荐
选择标签用于让用户从多个选项中选择一个或多个项。JSF 提供了 `<h:selectOneMenu>`、`<h:selectManyCheckbox>` 等标签来实现这些功能。例如: ```html <h:selectOneMenu value="#{bean.selectedOption}"> <f:...
4. **`<h:selectOneMenu>`**: 创建一个下拉菜单供用户选择单个选项。 5. **`<a4j:region>`**: 定义一个区域,其中的内容可以通过Ajax方式进行异步更新。 6. **`<a4j:commandButton>`**: 类似于`<h:commandButton>`,...
4. 选择(Selections):如`<h:selectOneMenu>`,用于提供用户选择的选项。 5. 其他:包括`<h:form>`、`<h:message>`、`<h:messages>`和`<h:graphicImage>`等。 JSF组件通常有若干共同的属性,如: - `id`:用于...
在JavaServer Faces (JSF) 框架中,`f:actionListener` 标签提供了一种机制来为`h:commandLink`、`h:commandButton`等命令组件指定自定义的事件监听器类。通过这种方式,开发者能够更加灵活地控制这些命令组件的行为...
- **selectBooleanRadio**:生成单选按钮组,每个按钮代表一个布尔值。 #### 1.7 其他标签 除了上述分类,还有一些其他类型的标签,如`form`、`message`、`messages`、`graphicImage`等,用于不同的功能需求。 - ...
- **selectOneMenu**: 创建一个下拉列表,用户只能选择一个选项。 - **selectManyMenu**: 创建一个下拉列表,用户可以选择多个选项。 - **selectOneRadio**: 创建一组单选按钮。 - **selectManyCheckbox**: 创建一组...
- **selectOneMenu**:生成下拉菜单,用户只能选择一个选项。 - **selectManyMenu**:生成多个下拉菜单,用户可以选择多个选项。 - **selectOneListbox**:生成单选列表框。 ##### 1.6 其他标签 除了上述类别外,...