struts入门之验证(2)

本文通过一个登录示例介绍了Struts框架中的验证方法,重点讲解了如何使用validate方法进行字段验证,并探讨了验证失败后的处理流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我犯了个大错,原谅我。上次写了个  struts入门之验证(1)   里面提到基本的两种验证方法撒。第一种就validate方法验证。

 

但是我跳过了,直接到第二种方法用XML文件了。

 

按照顺序,该先写第一个。哎,惭愧。。。。

 

不过“亡羊补牢,为时未晚”。

 

 

我还是是接着我上次的那个Demo做的。

如果你愿意看的话,可以看这里   。

 

这个是我学习的总结哈。我就不会考虑看这篇文章的读者手里有没有Demo了。Demo很简单,就是一个登陆的,一个action,一个结果页面。自己现在都可以做,花不到好多时间。原理我要把写清楚。

 

我直接改的是action的java文件。

code:

package actions;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{
    private String name;
    private String sex;
   
    public LoginAction() {
    System.out.println("构造方法调用了。");
   
    }
    public void validate(){
    System.out.println("validate方法 调用了。");
        if(this.getName().equals("")){
            this.addFieldError("name","name must input!");
        }
    }

    public String execute(){
    System.out.println("executite方法 调用了。");
        return "done";
    }

    public void setName(String name) {
    System.out.println("setName方法 调用了。");
        this.name = name;
    }

    public String getName() {
    System.out.println("getName方法 调用了。");
        return name;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getSex() {
        return sex;
    }

}

红色的那块就是我加的。 如大家所看,我就只验证了name字段。并且我在每个方法里面都加了个out。print()。目的是了解下action的生命周期。然后需要说明一下的是那个addFieldError()   这个方法,它的作用光看名字就知道了。他的作用还是说下,就是增加字段错误信息。需要特别说明下的是: 当我们验证失败的时候,我们就往里面加信息。当struts知道fielderror 里面有信心的时候。他就会返回 “input” 然后就根据struts.xml 里面的配置来选择跳转。      

 

改的就这么多了。我们运行吧。

 

什么都不填:

结果:

 

就是这样的,这个肯定是服务器端验证

我不是还有输出吗?

O(∩_∩)O~。

 

然后我填了name。提交:

 

大家发现区别没有,比对下就知道了。

 

上面的那个没有输入数据的调用了两次getName();

 

下面的那个没有输入数据的调用了1次getName();

 

 

下面的那个我都好理解

为什么第一个要调用两次getName()方法喃?

调用来干什么?

原来是这里:

    public void validate(){
    System.out.println("validate方法 调用了。");
        if(this.getName() .equals("")){
            this.addFieldError("name","name must input!");
        }
    }

 

这里还调用了一次。所以getName()方法出现两次调用。

 

这样的验证很简单,但是我想一般都不会提倡吧。

 

就是这样了。下回准备自定义一个类型的验证。学习中。。。

 

申明,我是初学者,以上都是个人动手结果和理解。不代表一定是准确的。如果发放错误,麻烦你给我留言纠正下。O(∩_∩)O谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值