`
yourenyouyu2008
  • 浏览: 287726 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

给h:selectOneMenu增加一个不会提交的选项

    博客分类:
  • jsf
阅读更多

问题描述:

目前我所实验过的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也可以,请高手们执教如何使用。

分享到:
评论
2 楼 yourenyouyu2008 2008-06-11  
正是因为需要做为sql的where条件,所以才需要迫切解决该问题。
现在的很多持久层框架都不需要我们自己来拼装查询条件了,那样的编码太繁琐,框架都会根据是否输入了值来动态拼装条件,这时就会把<f:selectItem itemVlue="">请选项</f:selectItem>也当作条件了。
示例,会根据这些值是否为null来动态拼装下面的restrictions
<framework:entity-query name="jsys_search"
                        ejbql="select h from JsYS
                        max-results="8"
                        entity-manager="#{em}">
                       
    <framework:restrictions>
        <value>lower(h.fxzq)=#{jsYSVO.fxzq}</value>
        <value>h.type in(#{jsYSVO.type},'3')</value>
      
    </framework:restrictions>
 
</framework:entity-query>
1 楼 terryzhou 2008-06-11  
这个不是问题吧...input,select大多都是做为sql的where条件的...
一般dao层拼sql时候都会判xxx!=null&&!xxx.equals("")
<f:selectItem itemVlue="">请选项</f:selectItem>

相关推荐

    <h:selectOneMenu>与<a4j:support>的集合运用(JSF)

    在JSF(JavaServer Faces)框架中,`&lt;h:selectOneMenu&gt;` 是一个用于创建下拉选择框的组件,而 `&lt;a4j:support&gt;` 是RichFaces库提供的一种Ajax支持的标签,它允许我们实现页面的部分更新,提高用户体验。这篇博客文章...

    用selectOneMenu标签开发级联选择

    在Java EE web开发中,创建级联选择(也称为下拉联动)是一项常见的任务,它允许用户在两个或多个下拉菜单之间建立关联,选择一个选项会影响其他下拉菜单的选项。本篇将深入探讨如何使用`&lt;h:selectOneMenu&gt;`标签来...

    设置jsf的选择框h:selectOneMenu为不可编辑状态的方法

    在JSF(JavaServer Faces)框架中,`h:selectOneMenu` 是一个用于创建下拉选择框的组件。在某些场景下,我们可能需要将这个组件设置为只读或不可编辑状态,以便用户只能查看选项,而不能进行选择。本文将详细讲解...

    qfaces 使用方法 WORD版

    2. **无需页面刷新**:在选择一个选项后,下一级别的选项会即时更新,而无需整个页面刷新,提高了用户体验。 3. **低性能影响**:Linkage 设计精巧,对页面性能影响极小。 4. **无侵入性**:不需要修改现有的 JSF ...

    jsf实用代码

    它们的工作原理与`&lt;h:selectOneMenu&gt;`类似,只是可以同时选择多个选项。 ```html &lt;h:selectManyCheckbox value="#{bean.selectedOptions}"&gt; &lt;f:selectItems value="#{bean.multiOptionsList}" /&gt; &lt;/h:...

    jsf常用标签整理

    10. JSF的表单处理通常由&lt;h:form&gt;标签包裹,例如:&lt;h:form&gt;&lt;h:commandButton value="提交" action="#{backBean.submitAction}"/&gt;&lt;/h:form&gt;`&lt;h:form&gt;`是必需的,因为它定义了一个HTTP表单,JSF的所有组件都在这个范围...

    JSF标签详解(一个不漏).doc

    selectItem标签用于指定UISelectOne或UISelectMany组件的一个项目,用来为h:selectOneMenu等选择性组件设置选择数据项。示例代码: ``` &lt;h:selectOneMenu value="#{bean.selectedItemValue}"&gt; &lt;f:selectItem .../&gt;...

    設定Style讓標準的JSF元件比較像Primefaces1

    以`h:selectOneMenu`为例,这是一个用于创建下拉选择菜单的JSF组件。在Primefaces中,该组件的样式可以通过添加`styleClass`属性来定制。以下是如何在标准JSF中使用`styleClass`的示例: ```xml &lt;h:selectOneMenu ...

    JSF标准标签

    - **`&lt;h:selectOneMenu&gt;`**: 创建一个HTML `&lt;select&gt;` 下拉列表。 - 示例代码: ```xml &lt;h:selectOneMenu id="country" value="#{user.country}"&gt; &lt;f:selectItem itemValue="US" itemLabel="United States" /&gt; ...

    重要知识JSF标签.pdf

    4. **选择(Selections)**:如`&lt;h:selectOneMenu&gt;`,用于实现选项选择。 5. **其他**:包括`&lt;h:form&gt;`、`&lt;h:message&gt;`、`&lt;h:messages&gt;`和`&lt;h:graphicImage&gt;`等。 这些标签拥有共同的属性,例如: - `id`:用于唯一...

    jsf的初步使用(包括jsf框架的引入、用户登录、自定义表单验证、valueChangeEvent值变更事件处理做的级联下拉框,内有jsf的jar包)

    **JSF(JavaServer Faces)** 是Java EE平台上的一个组件模型,用于构建Web应用程序。本教程将带你深入了解JSF的基础使用,包括框架的引入、用户登录实现、自定义表单验证以及通过`valueChangeEvent`处理级联下拉框...

    jsf常用控件的使用

    - `h:form`:定义一个JSF表单,所有交互元素应包含在此内。 - `h:inputCheckbox`和`h:inputRadio`:用于创建单选按钮和复选框,常用于选择列表。 - `h:selectOneRadio`和`h:selectManyCheckbox`:提供单选和多选...

    myfaces标签库

    4. **`&lt;h:selectOneMenu&gt;`**: 创建一个下拉菜单供用户选择单个选项。 5. **`&lt;a4j:region&gt;`**: 定义一个区域,其中的内容可以通过Ajax方式进行异步更新。 6. **`&lt;a4j:commandButton&gt;`**: 类似于`&lt;h:commandButton&gt;`,...

    JSF_2_简介

    JavaServer Faces (JSF) 是一个用于构建Java Web应用程序的标准组件框架。随着JSF 2 的推出,该框架得到了大量的改进,包括对复合组件的支持、内置的Ajax支持以及更为灵活的事件处理机制。这些新特性不仅增强了JSF的...

    jsf 控件说明(很好)

    4. 选择(Selections):如`&lt;h:selectOneMenu&gt;`,用于提供用户选择的选项。 5. 其他:包括`&lt;h:form&gt;`、`&lt;h:message&gt;`、`&lt;h:messages&gt;`和`&lt;h:graphicImage&gt;`等。 JSF组件通常有若干共同的属性,如: - `id`:用于...

Global site tag (gtag.js) - Google Analytics