问题描述:
目前我所实验过的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(JavaServer Faces)框架中,`<h:selectOneMenu>` 是一个用于创建下拉选择框的组件,而 `<a4j:support>` 是RichFaces库提供的一种Ajax支持的标签,它允许我们实现页面的部分更新,提高用户体验。这篇博客文章...
在Java EE web开发中,创建级联选择(也称为下拉联动)是一项常见的任务,它允许用户在两个或多个下拉菜单之间建立关联,选择一个选项会影响其他下拉菜单的选项。本篇将深入探讨如何使用`<h:selectOneMenu>`标签来...
在JSF(JavaServer Faces)框架中,`h:selectOneMenu` 是一个用于创建下拉选择框的组件。在某些场景下,我们可能需要将这个组件设置为只读或不可编辑状态,以便用户只能查看选项,而不能进行选择。本文将详细讲解...
2. **无需页面刷新**:在选择一个选项后,下一级别的选项会即时更新,而无需整个页面刷新,提高了用户体验。 3. **低性能影响**:Linkage 设计精巧,对页面性能影响极小。 4. **无侵入性**:不需要修改现有的 JSF ...
它们的工作原理与`<h:selectOneMenu>`类似,只是可以同时选择多个选项。 ```html <h:selectManyCheckbox value="#{bean.selectedOptions}"> <f:selectItems value="#{bean.multiOptionsList}" /> </h:...
10. JSF的表单处理通常由<h:form>标签包裹,例如:<h:form><h:commandButton value="提交" action="#{backBean.submitAction}"/></h:form>`<h:form>`是必需的,因为它定义了一个HTTP表单,JSF的所有组件都在这个范围...
selectItem标签用于指定UISelectOne或UISelectMany组件的一个项目,用来为h:selectOneMenu等选择性组件设置选择数据项。示例代码: ``` <h:selectOneMenu value="#{bean.selectedItemValue}"> <f:selectItem .../>...
以`h:selectOneMenu`为例,这是一个用于创建下拉选择菜单的JSF组件。在Primefaces中,该组件的样式可以通过添加`styleClass`属性来定制。以下是如何在标准JSF中使用`styleClass`的示例: ```xml <h:selectOneMenu ...
- **`<h:selectOneMenu>`**: 创建一个HTML `<select>` 下拉列表。 - 示例代码: ```xml <h:selectOneMenu id="country" value="#{user.country}"> <f:selectItem itemValue="US" itemLabel="United States" /> ...
4. **选择(Selections)**:如`<h:selectOneMenu>`,用于实现选项选择。 5. **其他**:包括`<h:form>`、`<h:message>`、`<h:messages>`和`<h:graphicImage>`等。 这些标签拥有共同的属性,例如: - `id`:用于唯一...
**JSF(JavaServer Faces)** 是Java EE平台上的一个组件模型,用于构建Web应用程序。本教程将带你深入了解JSF的基础使用,包括框架的引入、用户登录实现、自定义表单验证以及通过`valueChangeEvent`处理级联下拉框...
- `h:form`:定义一个JSF表单,所有交互元素应包含在此内。 - `h:inputCheckbox`和`h:inputRadio`:用于创建单选按钮和复选框,常用于选择列表。 - `h:selectOneRadio`和`h:selectManyCheckbox`:提供单选和多选...
4. **`<h:selectOneMenu>`**: 创建一个下拉菜单供用户选择单个选项。 5. **`<a4j:region>`**: 定义一个区域,其中的内容可以通过Ajax方式进行异步更新。 6. **`<a4j:commandButton>`**: 类似于`<h:commandButton>`,...
JavaServer Faces (JSF) 是一个用于构建Java Web应用程序的标准组件框架。随着JSF 2 的推出,该框架得到了大量的改进,包括对复合组件的支持、内置的Ajax支持以及更为灵活的事件处理机制。这些新特性不仅增强了JSF的...
4. 选择(Selections):如`<h:selectOneMenu>`,用于提供用户选择的选项。 5. 其他:包括`<h:form>`、`<h:message>`、`<h:messages>`和`<h:graphicImage>`等。 JSF组件通常有若干共同的属性,如: - `id`:用于...