java holder 遍历_复合组件editableValueHolder与Bean验证不一致
我有以下复合组件:
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:composite="http://java.sun.com/jsf/composite"
>
以及托管bean
import java.util.Date;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.validation.constraints.NotNull;
@ViewScoped
@ManagedBean
public class TestMB {
@NotNull
private Date value;
public String action1() {
System.out.println("The value is: " + value);
return null;
}
public Date getValue() {
return value;
}
public void setValue(Date value) {
this.value = value;
}
}
以下定制转换器:
import java.util.Date;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
@FacesConverter("myCustomConverter")
public class MyCustomConverter implements Converter {
@Override
public Object getAsObject(FacesContext arg0, UIComponent arg1, String value) {
if (value == null || "".equals(value)) {
return null;
}
return new Date();
}
@Override
public String getAsString(FacesContext arg0, UIComponent arg1, Object obj) {
if (obj == null) {
return null;
}
return obj.toString();
}
}
以下测试页面:
Enter value:
当我运行Web应用程序并将文本字段留空并点击提交按钮时,不会引发验证错误,我在Java控制台上获得以下内容:
The value is: null
为了使事情变得更复杂,如果我按如下方式修改我的复合组件(我将值=“#”添加到h:inputText
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:composite="http://java.sun.com/jsf/composite"
>
并在设置NO值时再次尝试提交表单,我没有在页面上显示任何验证错误,但我在控制台中收到以下警告:
INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
sourceId=myID:value[severity=(ERROR 2), summary=(may not be null), detail=(may not be null)]
然后,如果我再次尝试重新提交表单,则即使字段为空,也会提交操作 . 我在控制台中获得以下内容:
The value is: null
但是,如果我删除 id="myID" 一切都OK!
Finally: 如果我在表单上设置prependId = "false",一切正常 .
但我不想设置prependId =“false”,我确实需要设置ID :(
java holder 遍历_复合组件editableValueHolder与Bean验证不一致相关推荐
- java holder 遍历_如何获取所有RecyclerView ViewHolder?
我想在点击其中一个项目时更改所有项目的文字颜色.我的问题是颜色仅在可见物品上发生变化.不可见项目的颜色根本不会改变.如何获取所有RecyclerView ViewHolder? 新功能: 另外我想知道 ...
- java 回归遍历_回归基础:代码遍历
java 回归遍历 This article guides you through the basics of regression by showing code and thorough expl ...
- java容器遍历_高效遍历Java容器详解
通过本文,你可以更深入的学习 Java 语言中 forEach 语法的知识,以及它和 C 语言形式的 for 循环. Steam API 的对比. 简介 Java 程序员经常使用容器,比如 Array ...
- java 挂钩子_挂钩组件
我正在尝试创建一个图表可重用组件,但我无法围绕它进行包装 . 我们的想法是使用react(让我们称之为"Axes")重用以下SVG,以及一些功能和状态,如宽度和高度,数据→坐标映射 ...
- java dictionary遍历_遍历 Dictionary,你会几种方式?
一:背景 1. 讲故事 昨天在 StackOverflow 上看到一个很有趣的问题,说: 你会几种遍历字典的方式,然后跟帖就是各种奇葩的回答,挺有意思,马上就要国庆了,娱乐娱乐吧,说说这种挺无聊的问题
- java properties 遍历_如何遍历properties文件的键值对并放置到application作用域里
先建个监听器: [java] view plain copy package com.yjd.hy.server; import java.io.FileInputStream; import jav ...
- java arraylist遍历_遍历ArrayList的4种方法
以下4种方法有什么不同,个人感觉好象没什么不同..除了用跌代器看上去比较帅以外.... package com.test; import java.util.ArrayList; import jav ...
- java树结构遍历_树形结构,java_树遍历统计总数,树形结构,java - phpStudy
树遍历统计总数 { platformId: 3, areaId: "", areaName: "ROOT", parentAreaId: "" ...
- java授权失败_自定义Spring Security的身份验证失败处理方法
1.概述 在本快速教程中,我们将演示如何在Spring Boot应用程序中自定义Spring Security的身份验证失败处理.目标是使用表单登录方法对用户进行身份验证. 2.认证和授权(Authe ...
最新文章
- js正则表达式/replace替换变量方法
- 总结下我所学 设计模式
- 算法学习之路|称量硬币(模拟)
- BZOJ1693: [Usaco2007 Demo]Asteroids
- mysql+秘密_mysql不被人知的秘密
- 脆弱的是生命 不脆弱的是精神 雅安 挺住!
- Python 爬虫 —— scrapy
- select 居右对齐
- jsp浏览图像bean原理分析与改良-JSP实用教程(第三版)耿祥义 张跃平编著第4章例题4_9-动态获取文件夹中的文件并返回
- WebSocket入门使用教程
- DELL官方证实:NVIDIA史上最大显卡质量事故
- Spring常用注解(全常用)
- 呼叫中心系统的解决方案
- 如何助力鸿蒙发展,实话实说:华为以一已之力,能不能推动鸿蒙系统的发展 - 区块网...
- 屏幕撕裂及掉帧原因与解决方案
- 【Prometheus】Alertmanager告警全方位讲解
- 计算机cad理论试题,2017职称计算机AutoCAD试题「附答案」
- Latex(Ctex)出现编译错误 ! Misplaced alignment tab character .
- Java学习——逻辑运算、双分支结构(if\else)
- strip: Unable to recognise the format of the input file
热门文章
- WinForm 之Control.Invoke 和Control.BeginInvoke 方法的使用 Control 不能在创建它的 Thread 之外被调用。但可以通过 invoke 来保证 C
- 关于winodows下编程c++遇到的引用文件路径问题
- Android—Bitmap图片大小计算、压缩与三级缓存
- 怎么设置电脑屏幕一直亮着_电脑屏幕缩小了肿么调回去。分辨率调了没用。
- qml自定义switch_QML官方系列教程——Qt Quick Controls Styles
- DELL服务器T410进行系统修复,ibm T410 BIOS修复过程-BIOS维修网站www.biosrepair.com
- C语言算小数加减,C语言带小数加减乘除.doc
- 桂林电子科技大学C语言大作业,桂林电子科技大学c语言程序设计习题集及答案qvzaewzm.doc...
- python web界面整合 tail_如何使用Python Tornado在HTTP上实现“ tail”?
- Android修改原生AlertDialog按钮的颜色大小边距位置以及标题居中等