标签:oid namespace efi 用户名 success xtend sys eth config
1.自定义action继承ActionSupport
2.复写validate方法,因为ActionSupport实现了Validate这个借口,而这个借口中定义了validate方法
3.当请求时,先执行validate这个方法,然后再执行自己请求的方法
添加:<%@ taglib uri="/struts-tags" prefix="s" %> 引入struts2标签库
请求url
<s:form action="validate/validateAction_testValidate.action" method="post"> <s:textfield name="username" label="用户名"></s:textfield> <s:password name="password" label="密码"></s:password> <s:submit></s:submit> </s:form>
struts.xml中配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="validate" namespace="/validate" extends="struts-default">
<action name="validateAction_*" class="com.struts2.validate.ValidateAction" method="{1}">
<result>success.jsp</result>
<result name="input">login.jsp</result>
</action>
</package>
</struts>
Action中的配置
package com.struts2.validate;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
//印证
public class ValidateAction extends ActionSupport {
public String testValidate(){
System.out.println("success");
return SUCCESS;
}
//这个方法是执行印证的,如果验证有错误,则和配置文件result的name的值为input,这个是固定的
//addFiledError中的第一个参数与页面上的name的值保持一致
//struts2标签会把验证信息输出
public void validate(){
String username = ServletActionContext.getRequest().getParameter("username");
String password = ServletActionContext.getRequest().getParameter("password");
System.out.println(username+"---"+password);
if("".equals(username))
this.addFieldError("username", "用户名不能为空");//与输入的name值一样
if("".equals(password)){
this.addFieldError("password", "密码不能为空");//与输入的name值一样
}
}
}
标签:oid namespace efi 用户名 success xtend sys eth config
原文地址:http://www.cnblogs.com/callyblog/p/7517582.html