NetBeans中JSF应用开发(5)

创建自定义验证器
如果标准的 JSF 验证器不能满足您的要求,你可以编写自己的验证器。在我们的例子中,我们将编写一个验证器来验证一个字符串是否是一个合法的 email 。要创建一个自定义验证器,需要创建一个实现 javax.faces.validator.Validator 接口的类,并在 faces-config.xml 中配置,可以通过 <f:validator> 标记来使用验证器。
1.       右键点击工程节点,然后选择 New > Java Class ,把类命名为 EmailValidator ,把这个类放在包 astrologer.validate 中,然后点击 Finish
2.       在类的声明中,实现 Validator ,如下:
public class EmailValidator implements Validator {
3.       使用提示来实现 validate 方法。
4.       修改方法的签名,然后增加下面的代码:
    public void validate(FacesContext facesContext,
            UIComponent uIComponent, Object value) throws ValidatorException {
 
        //Get the component's contents and cast it to a String
     String enteredEmail = (String)value;
 
        //Set the email pattern string
        Pattern p = Pattern.compile(".+@.+//.[a-z]+");
 
        //Match the given string with the pattern
        Matcher m = p.matcher(enteredEmail);
 
        //Check whether match is found
        boolean matchFound = m.matches();
 
        if (!matchFound) {
            FacesMessage message = new FacesMessage();
            message.setDetail("Email not valid - The email must be in the format yourname@yourdomain.com
yourname
@
yourdomain.com
");
            message.setSummary("Email not valid - The email must be in the format yourname@yourdomain.com
yourname
@
yourdomain.com
");
            message.setSeverity(FacesMessage.SEVERITY_ERROR);
            throw new ValidatorException(message);
        }
    }
5.       使用 Alt+Shift+F 添加必须的 import 语句。 ( 您应该选择引入 java.util.regex.Matcher , java.util.regex.Pattern and javax.faces.application.FacesMessage .)
6.       打开 faces-config.xml ,然后添加下面的代码:
     ...
    </application>
    <validator>
        <validator-id>astrologer.EmailValidator</validator-id>
        <validator-class>astrologer.validate.EmailValidator</validator-class>
    </validator>
</faces-config>
7.       打开 greeting.jsp ,然后添加 email 域:
     ...
        <p>Enter your name: <h:inputText value="#{UserBean.name}"
        id="name" required="true"/>
        <h:message for="name" /></p>
        <p>Enter your email: <h:inputText value="email"
        id="email" required="true">
            <f:validator validatorId="astrologer.EmailValidator" />
        </h:inputText>
        <h:message for="email" /></p>
        <p>Enter your birthday: <h:inputText value="#{UserBean.birthday}"
            id="birthday" required="true">
     ...
8.       运行工程,如果你输入了一个无效的 email ,你将会得到下面的错误:
关于自定义验证器参考书上 188 页。
书:《 Java EE 5 实用教程》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NetBeans是一个开源的集成开发环境(IDE),提供了丰富的功能和工具,方便开发人员进行Java Web应用程序的开发。在NetBeans使用Java Web开发教程如下: 1. 首先,确保你已经安装好了NetBeans IDE,并且已经配置好了JDK路径。你可以在NetBeans的安装目录下的netbeans.conf文件找到JDK路径配置,例如所示的netbeans_jdkhome属性。 2. 打开NetBeans IDE,在菜单选择File(文件)-> New Project(新建项目)。 3. 在弹出的对话框,选择Java Web应用程序项目。点击Next(下一步)。 4. 在项目设置页面,输入项目名称和项目位置。点击Next(下一步)。 5. 在服务器设置页面,选择你想要使用的服务器。如果你还没有安装服务器,可以选择“Download and install”(下载和安装)选项来获取一个。点击Next(下一步)。 6. 在框架设置页面,选择你想要使用的Java Web框架,比如JavaServer Faces (JSF)或者Java Servlet。点击Next(下一步)。 7. 在页面设置页面,选择你想要创建的初始页面。点击Next(下一步)。 8. 在总结页面,确认你的选择并点击Finish(完成)。 9. 现在你已经创建了一个新的Java Web应用程序项目。你可以在项目添加和编辑Java类文件、JSP文件和其他资源文件。 10. 当你完成了代码编写和配置文件的设置后,你可以点击NetBeans的运行按钮来运行你的Java Web应用程序。NetBeans会自动启动你选择的服务器,并在浏览器打开你的应用程序,就像所描述的那样。 总之,通过NetBeans IDE,你可以轻松创建和开发Java Web应用程序,无论是从新建项目到运行应用程序,都提供了方便易用的分步教程和友好的界面。你可以利用NetBeans的丰富功能和工具来简化开发过程,并且可以借助NetBeans的帮助和社区来解决遇到的问题。如果你对Java咖啡店系统源码感兴趣,它也是使用NetBeans IDE构建的一个Java项目。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [使用Netbeans创建java Web项目](https://blog.csdn.net/unix21/article/details/19067751)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [如何使用 Netbeans 创建 Java Web 应用程序](https://blog.csdn.net/allway2/article/details/123524802)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Java咖啡店系统源码.rar](https://download.csdn.net/download/qq_37270421/88267982)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值