`
Mint_Grass
  • 浏览: 63182 次
  • 性别: Icon_minigender_1
  • 来自: 新疆
社区版块
存档分类
最新评论

JSF中输入组件的readonly属性(已解决)

    博客分类:
  • JSF
阅读更多
<h:inputText id="theValue" readonly="true" 
       value="#{readonlyBean.theValue}" onClick="setDay(this)"/>


以上的使用情况还是比较多的.   主要应用在: 让用户选择时间, 禁止输入. 在HTML中直接设置其readonly属性即可. 但在JSF中, 是不行的.

查看其源码:
然后首先找到HtmlInputText的renderer:HtmlTextRenderer,因为提交时首先调用组件的renderer的 docode方法来解析request的参数。然后发现该类是扩展了HtmlTextRendererBase,之后发现是调用了 HtmlRendererUtils.decodeUIInput()来解析的,在该方法的一开始,就发现如下语句:
if(isDisabledOrReadOnly(component))
    return;

这里充分说明了在JSF中readonly和disable一样,都是不会将参数提交给后台的。


解决方案有三种:
1.编写 inputText.onKeydown 事件, 直接 return false;   (不写readonly属性)
   这种解决办法比较简单. 实际上还是会存在一些问题.
2.继续用readonly属性的同时, 再增加hidden来保存数据.
   这种解决办法,全导致hidden过多.
3.继续用readonly属性的同时, 再加入: style="readonly:expression(this.readOnly=true)"
最终代码如下:
<h:inputText id="theValue" readonly="true" 
       value="#{readonlyBean.theValue}" onClick="setDay(this)"
       style="readonly:expression(this.readOnly=true)" />


推荐使用第三种解决方案(已测, 目前尚未发现问题).
0
0
分享到:
评论

相关推荐

    《JSF自定义组件》

    这些标签被用来在JSF页面中嵌入组件,并设置各种属性如数据绑定、事件处理器等。 - **组件(Component)**:组件是JSF的核心部分,负责处理用户的输入和输出。它实现了与用户的交互逻辑,如接收输入、触发事件、...

    JSF创建自定义组件

    下面将详细解释如何创建一个自定义JSF组件,包括组件的组成部分、标签库描述、属性处理类和组件类的创建。 一、自定义组件组成 一个完整的自定义JSF组件通常包括以下几个部分: 1. **标签库描述文件(TLD)**:...

    编写JSF用户自定义UI组件(之五)

    6. **组件的使用**:在JSF页面中,通过 `&lt;cc:component&gt;` 或 `&lt;mynamespace:componentName&gt;` 标签引用自定义组件,并设置相应的属性值。 7. **测试和调试**:创建自定义组件后,需要在实际应用中测试其功能,确保...

    JSF分页组件2

    在JSF中,我们可以使用各种分页组件来实现这一功能。本文将深入探讨JSF分页组件2的相关知识点,包括其原理、使用方法和最佳实践。 ### 1. 分页组件的基本概念 分页组件允许用户以有限的数量逐页查看数据,而不是一...

    jsf组件开发源码

    在"jsf组件开发源码"中,我们很可能是要探讨如何创建自定义的JSF组件,以及源码背后的实现逻辑。 首先,JSF组件是由UIComponent类及其子类构成的。每个组件都是一个独立的UI元素,具有渲染、属性和事件处理能力。...

    jsf组件树相关资料

    组件树中的组件可以与JavaBean的属性进行数据绑定,通过`value`属性实现。例如,`&lt;h:inputText value="#{bean.property}" /&gt;`将组件的值与bean的`property`属性关联。当JSF更新模型值时,会自动同步组件和bean之间的...

    jsf实战附录,JSF标签,组件详细介绍

    在"JsfInAction"这个文档中,你将找到有关如何使用JSF标签和组件的详细示例,以及如何在后台处理用户输入和执行业务逻辑的方法。对于Java、J2EE开发者来说,深入理解这些概念和实践将有助于提升开发效率并创建出更...

    JSF2.0实战 - 4、自定义组件

    自定义组件可以定义自己的属性,这些属性在JSF EL表达式中可以访问。例如,添加一个名为`myAttr`的属性: ```java @ManagedProperty(value="#{bean.myValue}") private String myAttr; // getter and setter `...

    JSF1.2日历组件

    3. **组件属性**:JSF组件可以有各种属性,如`value`表示组件的当前值,`converter`用于转换用户输入,以及`rendered`决定组件是否应在页面上渲染。日历组件可能包含`date`属性,用于存储选择的日期,以及`...

    JSF2自定义组件编程系列 第五部分 源代码

    在JSF(JavaServer Faces)2.0中,自定义组件是实现个性化用户界面和功能扩展的关键技术。这个"JSF2自定义组件编程系列第五部分 源代码"着重讲解了如何将复合组件(Composite Component)打包到JAR文件中,并通过...

    JSF UI 组件详解

    IDE通常会提供一个可视化的界面,其中包含各种JSF组件,只需通过简单的操作即可完成组件的添加和属性设置。 #### 四、标准输出组件 1. **HtmlOutputText**:用于显示静态文本,可以使用CSS对其进行格式化。 2. **...

    jsf2.0 自定义组件

    在JSF中,渲染器通过实现Renderer接口或者继承已有的Renderer类来创建。 3. **标签库(Tag Library)**:JSF使用XML定义的Facelets视图文件来创建用户界面。自定义组件需要在标签库定义文件(.tld或.xsd)中声明,...

    jsf自定义组件.pdf

    - **组件(Component)**:这是JSF框架的核心部分,负责处理用户的输入和输出。组件通过监听事件、进行数据验证等方式参与JSF生命周期的不同阶段。 - **渲染器(Renderer)**:渲染器负责将组件转换成客户端可以...

    JSF中文教程jsf

    **数据绑定** 是JSF的一个关键特性,它将组件的值与后台bean的属性直接关联。这使得界面的更改能够直接影响到模型,反之亦然。**Managed Beans** 是JSF中的业务逻辑载体,它们负责处理应用的业务规则和数据管理。 *...

    jsf自定义组件的实现

    本文将引导你逐步了解如何在JSF中实现一个自定义组件,从基础开始,一步步构建一个简单的组件,最后达到能够开发复杂组件的能力。 ### 自定义组件的组成部分 一个完整的自定义JSF组件通常包含以下几个关键部分: ...

    JSF中文问题解决方法完整版

    3. **JSF组件属性**:JSF的输入组件如`h:inputText`,可以通过`converter`属性指定一个自定义的转换器,处理中文字符的编码问题。同时,确保在JSF的视图文件(通常是.xhtml)中,页面头部的`&lt;f:view&gt;`标签也指定了...

    JSF中文教程.zip

    2. **UI组件**:JSF提供了丰富的内置UI组件,如`h:inputText`用于文本输入,`h:commandButton`用于提交表单等。这些组件可以通过属性和事件进行定制,以满足不同需求。 3. **Facelets**:Facelets是JSF推荐的视图...

    jsf用户输入验证

    在JavaServer Faces (JSF) 中,用户输入验证是一项重要的功能,用于确保客户端提交的数据满足特定的要求。这不仅可以提升应用程序的安全性,还可以提高用户体验,通过及时反馈错误信息让用户能够更正输入。 #### 二...

    精通JSF中文教程精通JSF中文教程

    EL是一种简洁的脚本语言,用于在JSF中获取和设置Managed Beans的属性值。它允许在JSF视图中直接引用后台Bean的属性,简化了数据绑定的过程。 **6. 视图和导航** JSF的视图通常由Facelets文件(.xhtml)组成,它们...

    JSF分页组件

    在JSF页面中,通过XML标签引入组件并配置相关属性,如当前页数、总页数、每页显示数量等。例如: ```xml &lt;!-- 表格列定义 --&gt; ``` **5. 数据源与分页组件的交互** JSF分页组件需要一个数据源来提供分页数据。...

Global site tag (gtag.js) - Google Analytics