Struts2学习笔记(6)

网友投稿 187 2023-07-14


Struts2学习笔记(6)

数据校验是在项目开发中不可缺少的一部分,用户登录时、密码验证时都需要,当然要做的首先是获得用户输入的内容,然后对内容进行验证,一般都是从数据库中读出然后校验,如果错误则显示提示信息,正确则进入用户主界面。

下面用一个简单小例子来说明下步骤:

1、index的表单

复制代码 代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8" 

    pageEncoding="UTF-8"%> 

<%  

String path = request.getContextPath(); 

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 

%> 

 

 

 

 

 

姓名: 


 

年龄: 


 

 

 

提交时会有两个变量--user.name 和user.age传到server,然后调用struts.xml文件配置中的对应Action

2、struts.xml配置

复制代码 代码如下:

 

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 

    "http://struts.apache.org/dtds/struts-2.0.dtd"> 

 

 

     

     

 

         

            /success.jsp 

            /error.jsp 

         

     

很明显-当返回success时调用success.jsp,error则调用error.jsp

3、Action中的check方法内容

复制代码 代码如下:

public String check(){ 

    System.out.println("name="+user.getName()); 

    System.out.println("age="+user.getAge()); 

    if(user.getName()ElzRCg.equals("admin")&&user.getAge()==20){ 

        return SUCCESS; 

    }else{ 

        this.addFieldError("name", "name is error"); 

        this.addFieldError("name", "name is too long"); 

        return ERROR; 

    } 

}

在这里我们调用了addFieldError方法

4、error.jsp页面

复制代码 代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8" 

    pageEncoding="UTF-8"%> 

<%@taglib uri="/struts-tags" prefix="s" %> 

 

 

 

 

 


 

 

 

 

里面第三行是说明的添加了struts2的标签库,并且以s开头。

而倒数第四行和第六行是重点,errors.name[0]对应的就是我们在3中通过addFieldError方法,放入到name属性中的name is error,errors.name[1]则很明显是name is too long。倒数第三行是调试信息。

整个效果最后显示为:


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java object 之clone方法全面解析
下一篇:Java使用递归解决算法问题的实例讲解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~