本来今天就想玩玩struts2的验证框架,于是在网上搜了很久,也发现了很多博主写的简单例子,但是没有几个博主讲清楚自己的例子(估计是这个框架没什么用,大神都不写)。所以我来汇总一下,做一个最简单的例子。
1,首先把struts2的框架搭好。这个和网上的hello world一样。
2.index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="Java"
import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
登录
<s:fielderror/>
<s:form action="login.action" validate="true" method="post">
<s:textfield name="a" id="a" label="a"></s:textfield>
<s:submit value="提交"></s:submit>
</s:form>
<s:actionerror />
</body>
</html>
<?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="defaul" extends="struts-default">
<action name="login" class="com.jj.action.LoginAction">
<result name="success">/WEB-INF/pages/success.jsp</result>
<result name="input">/index.jsp</result>
</action>
</package>
</struts>
4.LoginAction.java
package com.jj.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String a;
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
@Override
public String execute() throws Exception {
if (getA().equals("admin")) {
return SUCCESS;
} else {
super.addActionError("用户名错误!");
return INPUT;
}
}
}
5.LoginAction-validation.xml 放置的位置如图
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
<field name="a">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>必须输入用户名</message>
</field-validator>
</field>
</validators>
7.到此,所有的配置结束了。在客户端和服务端都有了校验功能。如果有帮到焦虑中的你,请帮我点赞 :)