NetBeans中JSF应用开发(6)

JSF网页应用开发购物车 用NetBeans做一个可以增加删除的购物车的JSF WEB应用 立即下载
 
创建自定义转换器
尽管使用必填域和转换器进行验证非常简单,但是也非常有限。例如,验证器可以验证生日域是一个有效的日期,但是不能验证日期是之前的日期。为了调整日期验证的方式,我们将创建一个自定义验证器。我们的验证器将验证日期的格式是正确的并且是过去的日期。如果遇到错误,验证器将显示相应的消息。
要创建一个自定义转换器,你需要创建一个实现javax.faces.converter.Converter接口的类,并且在faces-config.xml中注册这个类。你可以通过<f:converter>标记来使用转换器。
1.       右键点击工程节点,然后选择New > Java Class,把类命名为MyDateConverter,并放在astrologer.convert包中,然后点击Finish。
2.       在类的声明中,实现Converter接口,如下:
 public class MyDateConverter implements Converter {
3.       使用IDE的提示来添加合适的import语句,并实现抽象方法。 (在前面部分,你使用了IDE提示来实现validate方法)。IDE生成两个方法:getAsObject and getAsString。
4.       把下面的代码添加在方法getAsObject中(确保把方法声明中的String参数改成value):
public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException {
        String pattern = "dd/MM/yyyy";
        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
        Date nDate;
        try {
             nDate = sdf.parse(value);
        } catch (ParseException ex) {
            FacesMessage message = new FacesMessage();
            message.setDetail("Date is missing or not valid");
            message.setSummary("Date is missing or not valid");
            message.setSeverity(FacesMessage.SEVERITY_ERROR);
            throw new ConverterException(message);
        }
        if(nDate.getTime() > new Date().getTime()){
            FacesMessage message = new FacesMessage();
            message.setDetail("Date is bigger than current date");
            message.setSummary("Date is bigger than current date");
            message.setSeverity(FacesMessage.SEVERITY_ERROR);
            throw new ConverterException(message);
        }
        return nDate;
    }
5.       修改方法的签名,并把下面的代码添加到getAsString方法中 (在方法签名中,确保把Object参数的名字修改为value):
public String getAsString(FacesContext facesContext, UIComponent uIComponent, Object value) {
    return value.toString();
}
6.       使用Alt+Shift+F添加必须的import语句。 (你应该选择引入java.text.ParseException和java.util.Date)
7.       代开faces-config.xml,然后添加下面的代码:
<converter>
   <converter-id>astrologer.MyDateConverter</converter-id>
   <converter-class>astrologer.convert.MyDateConverter</converter-class>
</converter>
   
8.       打开greeting.jsp更新表单:
<p>Enter your name: <h:inputText value="#{UserBean.name}" id="name" required="true"/>
<h:message for="name" style="color:#f00;" /></p>
<p>Enter your email: <h:inputText value="#{UserBean.email}" id="email" required="true">
        <f:validator validatorId="astrologer.EmailValidator" />
    </h:inputText>
<h:message for="email" style="color:#f00;" /></p>
<p>Enter your birthday: <h:inputText value="#{UserBean.birthday}" id="birthday" required="true">
        <f:converter converterId="astrologer.MyDateConverter" />
    </h:inputText> <h:message for="birthday" style="color:#f00;" />
(dd/mm/yyyy)</p>
<h:commandButton value="Submit" action="#{UserBean.submit}" />
 
    
9.       运行工程,当您输入一个无效的日期或者将来的日期,您将会看到下面的错误信息:
关于自定义转换器参考书上180页。
书:《Java EE 5实用教程》
 
 
Netbeans 开发 JSF 2.0 入门学习,使用Primefaces 及JPA 使用 Netbeans 开发JSF 2.0,使用Primefaces 及JPA ,一步一步指导如何开发 立即下载

相关推荐

Keysight ADS新手必看:3分钟搞定TDR模拟的保姆级教程(附差分信号设置技巧)

本文为Keysight ADS新手提供TDR模拟的保姆级教程,详细介绍了从基础环境准备到差分信号设置的全流程。通过内置模板调用、待测器件连接和仿真结果解读,帮助用户快速掌握TDR模拟技术,特别包含差分信号配置技巧,提升信号完整性分析效率。

weixin_30872157的博客 197

NetBeans中JSF应用开发(2)

 目标:在JSF应用中使用管理Bean在上一节中,我们使用JSF组件创建了一个简单的web应用。但是,我们的Web应用还不能做任何有意义的事情。为了丰富我们的JSF应用的功能,可以建立辅助Bean(Backing Bean)与UI组件的关联。辅助Bean又称为JSF管理Bean,是一个普通的JavaBean组件,但是他们的属性和方法可以供JSF组件访问。在我们的例子中,我们将创建一个U

李绪成的一亩三分地 3501

波克 上海 Unity开发笔试题 2024

主要分为四部分,如果没有准备好,不要点击笔试链接,进入就会自动开始。

z2014z的博客 3397

NetBeans中JSF应用开发(5)

 创建自定义验证器如果标准的JSF验证器不能满足您的要求,你可以编写自己的验证器。在我们的例子中,我们将编写一个验证器来验证一个字符串是否是一个合法的email。要创建一个自定义验证器,需要创建一个实现javax.faces.validator.Validator接口的类,并在faces-config.xml中配置,可以通过标记来使用验证器。1.       右键点击工程节点,

李绪成的一亩三分地 2228

oracle rac 成本及架构,Oracle Extended RAC 架构实战

Extended-RAC,是RAC技术的一种扩展增强。Extended-RAC是通过专用光纤(或租用裸光纤)加DWDM(波分设备)设备将两个不同楼栋/同城甚至异地机房进行相连,将数据库主机、存储分别放置于不同机房,利用存储复制/ASM Mirror等技术进行数据复制进行搭建的一种远距离集群架构。Extended RAC需要将不同楼栋/同城甚至异地机房通过专用光纤(或租用裸光纤)加DWDM(光纤复用...

weixin_33812391的博客 2453

智慧工地算法视频分析服务器区域入侵检测AI视频分析技术在煤矿的实战应用

通过实时分析和处理井下视频资料,智慧矿山算法视频分析服务器不仅能够及时发现并预警人员违规行为和设备异常状况,还能够通过智能分析预防潜在的安全风险,从而显著提高煤矿的安全管理水平和生产效率。

EasyDarwin开源社区技术博客 562

NetBeans中JSF应用的开发(3)

 目标:使用标准的验证器和转换器设置某个域为必填的首先我们需要做的是确保用户为name域输入一些信息,我们可以通过使用inputText组件的required属性轻松做到。1.       打开greeting.jsp,然后修改inputText组件如下: Enter your name:          id="name" required="true"/>

李绪成的一亩三分地 2603

点云结构面智能识别与裂隙网络分析系统

点云结构面智能识别系统摘要 本系统采用深度学习与传统几何算法融合的方法,实现岩石结构面的智能识别与分析。系统包含7个核心模块:点云预处理、结构面识别、分组分割、参数计算、粗糙度分析、裂隙网络生成和可视化。技术路线结合PointNet++深度学习架构与RANSAC、区域生长等传统算法,通过预处理→深度学习识别→几何精修→参数计算→网络构建的流程实现高精度分析。预处理模块实现点云降噪、下采样和法向量估计,深度学习模块基于改进的PointNet++架构进行特征提取和分类。系统支持多种点云格式输入,提供完整的结构面

huanghm88的专栏 346

NetBeans中JSF应用开发(1)

 这是JSF技术系列讲座的第1个,整个讲座包括两大部分,第1部分是在NetBeans中的开发过程,第二部分是JSF相关技术的全面介绍。JavaServer Faces是Web应用中构建用户接口组件的标注Java API。可以把JSF框架想象成充满随时可以使用的组件的工具箱,这些组件可以在Web应用中快速和方便的重用。这些组件可能是简单的,例如存取用户数据的输入框,可能非常复杂,例如使用弹出

李绪成的一亩三分地 6567

手把手教你YOLOv8/YOLOv11分割训练自己数据集和推理,并教你使用Labelme工具标注数据(附分割网络结构图)

YOLOv8-seg 和 YOLOv11-seg 都是一种高效实例分割算法,实例分割模型的输出是一组勾勒出图像中每个物体的遮罩或轮廓,以及每个物体的类标签和置信度分数。当你不仅需要知道物体在图像中的位置,还需要知道它们的具体形状时,实例分割就非常有用了,功能非常强大,可以应对各种视觉任务。 YOLOv11-seg 则在 YOLOv8-seg 基础上进一步魔改了模型架构,相对分割速度可能更快,其他指标性能有待测试。实例分割可以用于自动驾驶、医疗图像处理、智能农业监控等领域。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 4477

2026.3.21:Ubuntu26.04 apt换国内源 清华源 阿里源 中科大源 163源

作为 LTS 版本,它会有 5 年的常规维护和安全更新。如果订阅 Ubuntu Pro,还能享受额外7年的支持。也就是说, Ubuntu Pro将享有长达 12 年的系统更新保障!接下来,我们将重点介绍 Ubuntu 24.04 LTS 中那些值得关注的新特性,以方便你决定是否进行升级。Ubuntu 24.04 LTS,代号 「Noble Numbat」,即将与我们见面!Canonical 已经宣布, Ubuntu 24.04 LTS。源文件地址 已经更换为。

拥抱具身智能,昇腾Ascend C 9075

SAP BO邮件自动发送配置实战:从SMTP到定时报表分发

在企业信息化建设中,报表平台的价值不仅在于数据展示,更在于将数据主动送达决策者。邮件作为最通用的信息触达通道,常与商业智能系统集成以实现自动化分发。其核心原理是通过SMTP协议将报表实例作为附件提交至邮件服务器,由邮件服务器完成最终投递。掌握这一原理,运维人员可快速构建定时报表推送机制,提升数据时效性,减少人工导出与发送成本。该能力广泛应用于销售日报、周报、异常告警、管理层驾驶舱快照等场景。本文聚焦SAP BusinessObjects(BO)平台,详细讲解邮件发送功能的前期准备、CMC配置、用户邮件地址维

weixin_34162228的博客 342

Aurix TC3xx系列MCU ResourceM模块配置(多核资源分配)

为减轻主核的负载率或者平衡各个核的资源分配,通常需要把一些MCU内部资源分配到从核上,在EB tresos工具中,通过ResourceM模块实现多核资源分配。

m0_38045338的博客 1388

NetBean 6.0初探

NetBean 6.0初探 subversion,tomcat6.0,glassfish都集成在NetBean6.0中。 subversion的使用. 1,下载subversion的客户端,到www.collab.net下载,并安装。 2,安装putty工具. 3,解压putty到C盘,比如c:/putty 4,添加环境变量.         变量: path         值  :c:/p

东南草堂 508

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

netbeans8.2简单使用JSF

#netbeans8.2简单使用JSF ##1.创建一个JAVAweb项目 服务器都是用默认的服务器。在框架选择处选择javaServer faces,首选页面语言为JSP。未说明的默认选项就好。 ##2.创建JSF配置文件 2.在javaweb项目下的源包创建一个java包mycontrol,并且创建JSF受管bean文件controler 3.编写受管bean内容 @ManagedBean(name ="controler") @SessionScoped public class control

build_zzz的博客 648

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

NetBeans6.8下JSF可视化入门(未完)

吕海鹏 in 优快云 Blog 2735

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

NetBeans中JSF应用开发

这是JSF技术系列讲座的第1个,整个讲座包括两大部分,第1部分是在NetBeans中的开发过程,第二部分是JSF相关技术的全面介绍。JavaServer Faces是Web应用中构建用户接口组件的标注Java API。可以把JSF框架想象成充满随时可以使用的组件的工具箱,这些组件可以在Web应用中快速和方便的重用。这些组件可能是简单的,例如存取用户数据的输入框,可能非常复杂,例如使用弹出式日历

meteorWJ's Home—Floating clound 1596

NetBeans下JSF框架编码简介

本文是介绍在 NetBeans IDE 中使用 JavaServer Faces 框架编码 Web 应用程序系列文章中的第一篇。通过本系列教程的学习,我们将创建名为 jAstrologer 的 Web 应用程序,此程序可获取用户的姓名和生日,然后返回用户的十二宫图、诞生石和星座等信息。JavaServer Faces (JSF) 框架是标准的 Java API,用于在 Web 应用程序中构建用

.NET博文收藏 337

jsf netbeans_NetBeans Java EE技巧9:从数据库创建JSF应用程序

jsf netbeans 您需要非常快速地创建数据库前端吗? NetBeans IDE允许人们以很少的代码就为一组数据库表开发JSF应用程序前端。 现在,本教程是一个老歌,但是一个好东西……对于那些不了解它的人来说,值得再次提及。 首先,创建您的应用程序。 在这种情况下,我通过选择“ New Project”->“ Maven”->“ Web Application”来创建Ma...

最佳 Java 编程 236

在Netbeans6中开发Ajax组建的JSF

  早些年,微软件的开发利器总是让Java阵营的IDE显得很弱智。微软种可视化的开发方式让无数的Java程序员向往。虽然Eclipse的出现在一定程度上缓解了这种心态,但还是有差距啊。长江后浪推前浪,前浪死在沙滩上。如今的NetBeans 6号称很牛,试一试,发现确实也比较牛,虽然不能完全与微软的IDE相提并论,但至少让我们看到真正可视化编程的曙光。下面就介绍一下如何在NetBeans6中可初

Eleven's Blog 1355
上一篇: NetBeans中JSF应用开发(5)
下一篇: JSP培训(1)——概述
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值