struts2中的validate()方法验证
validate()方法验证
一个ACTION类继承ActionSupport有何用处?
答:在ActionSupport中实现了很多接口,就拿一个来讲,validate()方法,是默认的验证。我们可以在我们的action类中重写一下此方法。比方说验证用户名是否为空。这个方法不需要调用,当S:FORM表单提交了,到了action类中会首先执行此方法。对数据进行验证。
(1)、前台页面
(2)、login.action页面
class Login extends ActionSupport{
private String username;
...//username的set(),get()方法
//execute()方法
public String validate(){
if("".equals(this.getUsername()) || null == this.getUsername()){
this.addFieldErro("username","username can't null");//参数1是前台组件名称,后面是提示。此错误信息会在此组件的前面显示这句话
}
}
}
(3)、struts.xml文件
输出的错误信息会返回一个input 值。所以XML文件中需要定义一个结果为 input 的结果
例:
在你的的web中加入struts2的jar包支持.
第一步:web.xml:
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
org.apache.struts2.dispatcher.FilterDispatcher
第二步:在src下建立struts.xml:
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
第三步:建立两个jsp
1.index.jsp:
<%@page language="java" pageEncoding="GB18030"%>
<%@taglib prefix="s" uri="/struts-tags"%>
2.ok.jsp:
<%@page language="java" pageEncoding="GB18030"%>
<%@taglib prefix="s" uri="/struts-tags"%>
UserName:
Password:
第四步:写出Action
LoginAction:
package com;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport
{
private String username;
private String password;
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
@Override
public String execute() throws Exception
{
if("admin".equals(this.getUsername().trim()) && "admin".equals(this.getPassword().trim()))
{
return SUCCESS;
}
else
{
this.addFieldError("username", "UserName or password is wrong!");
return INPUT;
}
}
@Override
public void validate()
{
if(null == this.getUsername() || "".equals(this.getUsername().trim()))
{
//第一个参数表示表单中的textfield的name,第二参数是提示信息
this.addFieldError("username", "UserName is required!");
}
if(null == this.getPassword() || "".equals(this.getPassword().trim()))
{
this.addFieldError("password", "Password is required!");
}
}
private static final long serialVersionUID = 4771028725069625041L;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
