`
esffor
  • 浏览: 1370623 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用JSF处理表单验证

阅读更多

 web.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
    xmlns
="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>
    
<servlet>
      
<servlet-name>Faces Servlet</servlet-name>
      
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
      
<load-on-startup>1</load-on-startup>
    
</servlet>
    
<servlet-mapping>
      
<servlet-name>Faces Servlet</servlet-name>
      
<url-pattern>*.faces</url-pattern>
    
</servlet-mapping>
  
<welcome-file-list>
    
<welcome-file>index.jsp</welcome-file>
  
</welcome-file-list>
</web-app>

 

face-config.xml

 

<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
"http://java.sun.com/dtd/web-facesconfig_1_0.dtd"
>
<faces-config>
   
<application>
   
     
<locale-config>
       
<default-locale>en</default-locale>
       
<supported-locale>zh_CN</supported-locale>
     
</locale-config>
   
</application>
  
<navigation-rule>
     
<from-view-id>/index.jsp</from-view-id>
     
<navigation-case>
           
<from-outcome>success</from-outcome>
           
<to-view-id>/welcome.jsp</to-view-id>
     
</navigation-case>
      
<navigation-case>
           
<from-outcome>failure</from-outcome>
           
<to-view-id>/index.jsp</to-view-id>
     
</navigation-case>
   
</navigation-rule>
   
   
<managed-bean>
       
<managed-bean-name>user</managed-bean-name>
       
<managed-bean-class>test.UserBean</managed-bean-class>
       
<managed-bean-scope>session</managed-bean-scope> 
   
</managed-bean>
</faces-config>

 

JavaBean:

package test;

public class UserBean ...{
   
private String username;
   
private String password;
   
private String errorMessage;
   
private String locale;
   
public String getLocale() ...{
    
return locale;
}

public void setLocale(String locale) ...{
    
this.locale = locale;
}

public String verify() ...{
       
if(!username.equals("admin"||
                
!password.equals("123456")) ...{
           errorMessage 
= "名称或密码错误";
           
return "failure";
       }

       
else ...{
           
return "success";
       }

       }


public String getPassword() ...{
    
return password;
}


public void setPassword(String password) ...{
    
this.password = password;
}


public String getErrorMessage() ...{
    
return errorMessage;
}


public void setErrorMessage(String errorMessage) ...{
    
this.errorMessage = errorMessage;
}


public String getUsername() ...{
    
return username;
}


public void setUsername(String username) ...{
    
this.username = username;
}

}

 

index.jsp

 

<%...@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%...@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%...@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  
<head>
  
</head>
  
<body>
    
<f:view>
        
<h:form>
            
<h:selectOneRadio value="#{user.locale}">
                
<f:selectItem itemValue="zh_CN" itemLabel="中国" />
                
<f:selectItem itemValue="en" itemLabel="英国" />
            
</h:selectOneRadio>
         
<h:messages layout="table" style="color:red"/>    
         
<h3>请输入您的名称</h3>
         
<font color="red"><h:outputText value="#{user.errorMessage}"/><p></font>
          名称: 
<h:inputText value="#{user.username}" required="true" requiredMessage="名称必须输入"/><p>
          密码: 
<h:inputSecret value="#{user.password}" required="true" requiredMessage="密码必须输入" validatorMessage="长度必须大于6位">
                 
<f:validateLength minimum="6"/>
              
</h:inputSecret><p>
         
<h:commandButton value="送出" action="#{user.verify}"/>
       
</h:form>
    
</f:view>
  
</body>
</html>

 

welcome.jsp

 

<%...@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%...@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%...@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>

<spa>
分享到:
评论

相关推荐

    jsf用户输入验证

    例如,在处理表单提交时,可以通过检查输入字段是否为空或者是否符合特定格式来进行手动验证。 ##### 示例代码: ```java public void saveUser() { if (user.getName().isEmpty()) { FacesMessage message = ...

    jsf获取表单的两种方法

    本文将详细讲解两种方法来获取JSF表单中的数据。 1. EL(Expression Language)表达式 EL是JSF的核心部分之一,它允许开发者在JSP页面中方便地访问JavaBean属性以及JSF上下文中的其他对象。获取表单数据最直接的...

    jsf 登录验证程序

    4. **验证**:在用户提交表单后,JSF会触发验证过程。可以使用JSF的验证框架对输入数据进行检查,例如确保用户名和密码非空,或者密码符合特定的复杂性要求。 5. **导航规则**:登录成功后,用户通常会被重定向到另...

    jsf动态创建表单控件实例.

    对于验证,可以使用JSF的内置验证器,或者自定义验证器。 6. **优化与最佳实践**: - 为了提高性能,避免在每个请求都重新创建控件,可以考虑在PostConstruct阶段进行动态创建,然后在Session或ViewScope中保存。 ...

    jsf的初步使用(包括jsf框架的引入、用户登录、自定义表单验证、valueChangeEvent值变更事件处理做的级联下拉框,内有jsf的jar包)

    本教程将带你深入了解JSF的基础使用,包括框架的引入、用户登录实现、自定义表单验证以及通过`valueChangeEvent`处理级联下拉框。 **一、JSF框架的引入** 在Java EE项目中引入JSF框架,首先需要在`pom.xml`或`build...

    第7章 JSF转换器和验证器与实例程序

    在"JSF转换器和验证器"这一主题中,学习者将接触到如何配置和使用这两个组件,以及如何在JSF应用程序中进行错误处理和用户反馈。这包括在XHTML视图中声明转换器和验证器、在 Managed Bean 中定义业务逻辑,以及如何...

    jsf验证器与自定义验证

    JSF 提供了一种强大的机制来处理表单验证,包括内置的验证器和自定义验证器。这篇博客文章“jsf验证器与自定义验证”深入探讨了这些概念,并可能提供了实现细节和示例代码。 首先,JSF 内置的验证器是预定义的,...

    JSF 转换与验证 .rar

    在这个“JSF 转换与验证”主题中,我们将深入探讨JSF如何处理数据转换和验证,这两个是确保应用程序数据准确性和一致性的关键方面。 一、数据转换 在JSF中,数据转换是将用户输入的数据从一种类型转换为另一种类型...

    第2部分-动态JSF表单

    在本资源包“第2部分-动态JSF表单(CSS、JavaScript和JSF联合打造 Ajax应用程序)”中,我们深入探讨了如何利用这三种技术来创建动态、交互式的Web应用程序。这一部分着重于Ajax(异步JavaScript和XML)的应用,通过...

    JSF 转换与验证 - 利用 JSF 的转换和验证框架来确保数据模型的完整性.rar

    在JSF中,转换和验证是两个关键概念,它们有助于保证从客户端(通常是网页表单)接收到的数据在被存储或处理前符合预期的格式和规则。 **一、JSF 转换** 在JSF中,转换是用来将用户输入的数据转换为应用程序可以...

    shale实现jsf客户端验证例子

    5. **处理验证结果**:当客户端验证失败时,Shale会更新相应的输入字段,显示错误消息,并阻止表单的提交。 在给出的压缩包文件"ShaleValidator"中,可能包含了示例项目的源代码,如JSF页面、验证器类以及相关的...

    JSF(转换器+验证器)

    2. 当用户在表单中输入数据后,JSF会调用相应的转换器将输入值转换为服务器端可处理的数据类型。 3. 自定义转换器可以通过实现`javax.faces.convert.Converter`接口或使用`@FacesConverter`注解来创建。 4. `...

    jsf 用户登陆界面

    在JSF中,用户登录界面是常见的功能模块,用于验证用户的身份。下面将详细讲解如何在JSF中创建一个用户登录界面。 1. **JSF架构简述** JSF是一种组件化的MVC(Model-View-Controller)框架,它提供了丰富的UI组件...

    JSF精美登陆跳转,自定义数据验证

    - **内置验证**:JSF 提供了内置的数据验证机制,例如在`&lt;h:input&gt;`标签中使用`required`属性进行非空验证,或者使用`validator`属性调用自定义验证器。 - **自定义验证器**:当内置验证不够用时,开发者可以创建...

    JSF自定义转换器验证器实例

    在JSF中,转换器和验证器扮演着至关重要的角色,它们允许我们对用户输入进行处理和验证,确保数据的质量和一致性。本实例将带你深入理解如何在JSF中创建自定义的转换器和验证器。 首先,我们来了解**转换器...

    JSF生命周期的事件处理

    解决这类问题的方法是在表单设计时添加清晰的提示信息,并尽可能使用内置或自定义的验证器来增强验证逻辑。 2. **数据丢失**:在某些情况下,用户在填写表单的过程中可能会意外关闭浏览器或刷新页面,从而导致已经...

    JSF全套(JSF入门教+ LIB+ Ajax4JSF使用手册 )

    学习这部分,你需要了解如何导入和使用JSF的库,例如`javax.faces.*`和`org.primefaces.*`,以及它们提供的功能,如数据验证、转换器、事件处理等。 4. **Ajax4JSF使用手册**:Ajax4JSF是JSF的一个扩展,它为JSF...

    使用JSF和MyFaces实现文件上载

    总之,使用JSF和MyFaces实现文件上传虽然需要一些额外的配置和处理,但通过遵循上述步骤和最佳实践,可以有效地在JavaWeb应用程序中实现这一功能。这不仅提高了用户体验,也增强了应用程序的功能性和实用性。

    jsf快速入门教程

    页面中可以使用JSF组件,如`h:inputText`用于文本输入,`h:commandButton`用于提交表单。Managed Bean则负责处理用户的动作和保存数据。 **5. JSF组件** JSF提供了丰富的UI组件库,如按钮、输入框、表格、下拉菜单...

    JSF入门+JSF web实战+JSF2

    内容可能包括如何处理表单提交、验证用户输入、使用AJAX增强用户体验、以及与数据库交互等。这部分资料会帮助开发者理解JSF在复杂场景下的应用,提升实际开发技能。 《JSF2》是关于JSF的第二版,相比第一版,JSF2...

Global site tag (gtag.js) - Google Analytics