JSF h:inputText 验证和 f:ajax 渲染

2024-02-07

一个非常简单的 JSF 应用程序:

  • InputText 元素分配有 Validator。
  • f:ajax 用于渲染下一个元素(phoneNumber),方法是使用blur event.
  • 仅当 inputText 通过验证器且 isValid 布尔值设置为 true 时才会显示 PhoneNumber

这是代码片段

<h:form id="invOrdersWizForm">                                  
    <h:inputText id="name" maxlength="9" styleClass="ordLabelNarrow"
        validator="#{person.validatePerson}"                                
        value="#{person.name}">
        <f:ajax render="phoneLabel" event="blur"/>                                                              
    </h:inputText>  
    <h:outputText id="phoneLabel"
        rendered="#{person.isValid}"                        
        styleClass="ordLabelWide" value="#{person.phoneNumber}" />
</h:form>

托管Bean

public void validatePerson(FacesContext context, UIComponent toValidate, Object value) {
    name = ((String) value).toUpperCase();
    phoneNumber = "12345678";
    isValid = true;
}

问题是,由于某种原因,phoneNumber 根本没有呈现。

我可以让它工作的唯一方法是将 f:ajax 更改为渲染 @form

<h:inputText id="name" maxlength="9" styleClass="ordLabelNarrow"
    validator="#{person.validateSecurityCode}"                              
    value="#{person.name}">
    <f:ajax render="@form" event="blur"/>                                                               
</h:inputText>  

或者从电话号码中删除渲染

    rendered="#{person.isValid}"

由于某种原因,具有特定元素 Id 的 f:ajax 和基于 ManagedBean 属性渲染的无法共存。

大家有什么想法或建议吗?

注意:当我使用侦听器而不是验证器时也会发生这种行为


The f:ajax在客户端运行。中指定的元素render必须已经存在于客户端 HTML DOM 树中。例如将其放入h:panelGroup相反,它总是呈现给客户端。

<h:panelGroup id="phoneLabel">
    <h:outputText rendered="#{person.isValid}" value="#{person.phoneNumber}" />
</h:panelGroup>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSF h:inputText 验证和 f:ajax 渲染 的相关文章

  • 如何在 JFace 的 TableViewer 中创建复选框?

    我创建了一个包含两列的 tableViewer 我想将其中一列设为复选框 为此 我创建了一个 CheckBoxCellEditor 但我不知道为什么它不起作用 名为 tableName 的列显示其值正常 色谱柱规格如下 String COL
  • AES 加密 Java/plsql

    我需要在Java和plsql DBMS CRYPTO for Oracle 10g 上实现相同的加密 解密应用程序 两种实现都工作正常 但这里的问题是我对相同纯文本的加密得到了不同的输出 下面是用于加密 解密过程的代码 Java 和 PLS
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • 如何查找 Android 设备中的所有文件并将它们放入列表中?

    我正在寻求帮助来列出 Android 外部存储设备中的所有文件 我想查找所有文件夹 包括主文件夹的子文件夹 有办法吗 我已经做了一个基本的工作 但我仍然没有得到想要的结果 这不起作用 这是我的代码 File files array file
  • 如何在jsp代码中导入java库?

    我有以下jsp代码 我想添加 java io 等库 我怎样才能做到这一点
  • 迁移到 java 17 后有关“每个进程的内存映射”和 JVM 崩溃的 GC 警告

    我们正在将 java 8 应用程序迁移到 java 17 并将 GC 从G1GC to ZGC 我们的应用程序作为容器运行 这两个基础映像之间的唯一区别是 java 的版本 例如对于 java 17 版本 FROM ubuntu 20 04
  • Clip 在 Java 中播放 WAV 文件时出现严重延迟

    我编写了一段代码来读取 WAV 文件 大小约为 80 mb 并播放该文件 问题是声音播放效果很差 极度滞后 你能告诉我有什么问题吗 这是我的代码 我称之为doPlayJframe 构造函数内的函数 private void doPlay f
  • 序列化对象以进行单元测试

    假设在单元测试中我需要一个对象 其中所有 50 个字段都设置了一些值 我不想手动设置所有这些字段 因为这需要时间而且很烦人 不知何故 我需要获得一个实例 其中所有字段都由一些非空值初始化 我有一个想法 如果我要调试一些代码 在某个时候我会得
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • Spring Data 与 Spring Data JPA 与 JdbcTemplate

    我有信心Spring Data and Spring Data JPA指的是相同的 但后来我在 youtube 上观看了一个关于他正在使用JdbcTemplate在那篇教程中 所以我在那里感到困惑 我想澄清一下两者之间有什么区别Spring
  • 制作java包

    我的 Java 类组织变得有点混乱 所以我要回顾一下我在 Java 学习中跳过的东西 类路径 我无法安静地将心爱的类编译到我为它们创建的包中 这是我的文件夹层次结构 com david Greet java greeter SayHello
  • 将多模块 Maven 项目导入 Eclipse 时出现问题 (STS 2.5.2)

    我刚刚花了最后一个小时查看 Stackoverflow com 上的线程 尝试将 Maven 项目导入到 Spring ToolSuite 2 5 2 中 Maven 项目有多个模块 当我使用 STS 中的 Import 向导导入项目时 所
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • 使用 SAX 进行 XML 解析 |如何处理特殊字符?

    我们有一个 JAVA 应用程序 可以从 SAP 系统中提取数据 解析数据并呈现给用户 使用 SAP JCo 连接器提取数据 最近我们抛出了一个异常 org xml sax SAXParseException 字符引用 是无效的 XML 字符
  • 当单元格内的 JComboBox 中有 ItemEvent 时,如何获取 CellRow

    我有一个 JTable 其中有一列包含 JComboBox 我有一个附加到 JComboBox 的 ItemListener 它会根据任何更改进行操作 但是 ItemListener 没有获取更改的 ComboBox 所在行的方法 当组合框
  • Windows 上的 Nifi 命令

    在我当前的项目中 我一直在Windows操作系统上使用apache nifi 我已经提取了nifi 0 7 0 bin zip文件输入C 现在 当我跑步时 bin run nifi bat as 管理员我在命令行上看到以下消息 但无法运行
  • 如何配置eclipse以保持这种代码格式?

    以下代码来自 playframework 2 0 的示例 Display the dashboard public static Result index return ok dashboard render Project findInv
  • 查看Jasper报告执行的SQL

    运行 Jasper 报表 其中 SQL 嵌入到报表文件 jrxml 中 时 是否可以看到执行的 SQL 理想情况下 我还想查看替换每个 P 占位符的值 Cheers Don JasperReports 使用 Jakarta Commons
  • 将2-3-4树转换为红黑树

    我正在尝试将 2 3 4 树转换为 java 中的红黑树 但我无法弄清楚它 我将这两个基本类编写如下 以使问题简单明了 但不知道从这里到哪里去 public class TwoThreeFour
  • Swagger/Openapi-Annotations:如何使用 $ref 生成 allOf?

    我正在生成 Rest 端点 包括添加OpenAPI Swagger对生成的代码进行注释 虽然它对于基本类型运行得很好 但我在自定义类方面遇到了一些问题 现在我有很多自定义类的重复架构条目 使用 Schema 实现 MyClass class

随机推荐

  • 学说 2 - 查询生成器条件查询... If 语句?

    我的查询是 doctirne 2 我在用户中有一个状态字段 私人或 民众 我希望能够运行此查询并显示所有评论 其中 仅当 userid 当前登录时 状态 公共和私有 用户 ID 我知道 loggerUserVarID q this gt e
  • 如何在 Azure ML 服务中注册本地训练的机器学习模型?

    我正在尝试Azure 机器学习服务 https azure microsoft com en us services machine learning service 用于机器学习部署 我已经在计算 VM 上训练了一个模型并将其保存为 pi
  • c++ - 如何使用裸新初始化智能点?

    我正在尝试学习新的 C 标准 但在使用智能指针时我遇到了不足 这是我正在编写的一个不想运行的程序的代码 include
  • Julia 并行编程 - 使现有功能可供所有工作人员使用

    我面临以下问题 我有一个函数叫做火车模型在单个线程上运行很长时间 当它完成计算时 它返回一个函数作为输出参数 我们称之为f 当我询问这个 的类型时f 朱莉娅返回 具有 1 种方法的通用函数 我不确定最后一条信息对阅读本文的人是否有用 现在在
  • Excel biff5 到 biff8 转换

    我的系统使用 Apache POI 来管理一些 xls 文件 现在我有近 300 个 xls 文件 但它们似乎是旧格式 所以我得到了这个异常 提供的电子表格似乎是 Excel 5 0 7 0 BIFF5 格式 POI 仅支持 BIFF8 格
  • 遇到错误:java.lang.NoClassDefFoundError:com/google/common/collect/ImmutableList$Builder

    我是使用 EclipseIDE 和 TestNG 来使用 Selenium WebDriver 的新手 我目前正在 Eclipse 中通过 TestNG 运行此示例代码 import org openqa selenium By impor
  • 如何将 jQuery.serialize() 数据转换为 JSON 对象?

    当表单包含多个输入数组字段时 是否有更好的解决方案来转换已通过 jQuery 函数 serialize 序列化的表单数据 我希望能够将表单数据转换为 JSON 对象 以重新创建一些其他信息表 那么告诉我一个更好的方法来将序列化字符串转换为
  • .Net 中的钥匙锁

    我有一个 Azure 服务总线队列 我正在其中接收 1 到 10 条具有相同 密钥 的消息 其中一条消息需要通过长时间运行的操作来处理 完成后 数据库将被更新 其他消息将对其进行检查 但是 与此同时 其他消息将重新排队 以便进程不会丢失 但
  • 图像中的第四个通道是什么?

    使用随机生成图像时该列意味着什么np random randint img np random randint 255 size 4 4 3 dtype uint8 这将创建一个 4 x 4 像素 3 列的矩阵 img np random
  • 在 Clojure 中获取函数的参数类型提示

    我正在寻找提取函数参数的类型提示信息 但我似乎找不到访问该信息的方法 例如 假设我有以下功能 defn Double do something String a String b 5 0 拉取标签很简单 tag meta do someth
  • 这些“未定义引用 __glut*WithExit”OpenGL 链接器错误的含义是什么? [复制]

    这个问题在这里已经有答案了 原问题 警告 路过GLfloat for converting 2 of空白 glutSolidSphere GLdouble GLint 闪烁 警告 路过GLfloat for converting 3 of空
  • Swift 中多维数组的语法是什么?

    CO 粉丝 在你下结论之前 它是一个重复的 有 2 种不同风格的数组 看来我问的是不太受欢迎的一种 到目前为止 我只看到了锯齿状数组的语法 例如 Int 但我找不到任何有关平面多维数组的信息 那么类型的语法是什么 比如二维数组Ints 以及
  • 如何使用 Javascript/underscorejs 找到包含对象的数组的交集?

    我不知道如何找到这组数组的交集 name product1 light 1 name product2 light 2 name product5 light 5 name product4 light 4 name product2 li
  • 如何将数据数组导入到 Hive 表中的单独行中?

    我正在尝试将以下格式的数据导入配置单元表 identifier id 1 dataA dataA 1 identifier id 2 dataA dataA 2 我有多个这样的文件 我希望每个 在表中形成一行 这是我尝试过的 CREATE
  • 图形解析错误

    我尝试使用 python 和 igraph 库创建 graphml 文件 我可以构建 igraph 的图形对象并将其写入文件 g write graphml mygraph graphml 一切似乎都很成功 但是当我尝试使用以下命令将文件读
  • 在java中解析XML属性

    我有一个与此类似的xml
  • 为什么GD在imagedestroy()时不释放内存?

    我需要一个 PHP CLI 脚本来通过 GD 函数执行各种图像转换 图像很大 所以我需要压缩尽可能多的内存 然而 当被要求时 imagedestroy 似乎不会释放内存 考虑以下演示脚本 test php usr bin php5
  • C#中如何使用“using”捕获异常

    鉴于此代码 using var conn new SqlConnection conn Open using var cmd conn CreateCommand cmd CommandText using var reader cmd E
  • 为什么进程在 4GB 时被杀死?

    我编写了一个可以处理大量数据的程序 我的 CPU 和操作系统 Ubuntu 都是 64 位的 并且我有 4GB 的 RAM 使用 top Mem 字段 我看到该进程的内存消耗上升到 87 左右 即 3 4 GB 然后它被杀死 然后我使用 u
  • JSF h:inputText 验证和 f:ajax 渲染

    一个非常简单的 JSF 应用程序 InputText 元素分配有 Validator f ajax 用于渲染下一个元素 phoneNumber 方法是使用blur event 仅当 inputText 通过验证器且 isValid 布尔值设