页面代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<%@ taglib uri="/struts-tags" prefix="s"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>My JSP 'login.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<!-- 使用Struts标签 通过配置form表单validate="true"开启客户端校验-->
<s:form action="login.action" validate="true">
<s:textfield name="username" label="用户名"></s:textfield>
<s:password name="password" label="密 码"></s:password>
<s:submit value="提交"></s:submit>
</s:form>
</body>
</html>
messageResource_zh_CN.properties代码如下:
#struts校验
user.required=show user name
pass.required=show password
pass.length=password length range is 3 to 6
LoginAction-validation.xml代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!-- 指定校验配置文件的DTD信息 -->
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<!-- 字段校验器,校验username属性 -->
<field name="username">
<!-- 配置必填字符串校验器 -->
<field-validator type="requiredstring">
<!-- 通过key指定国际化资源文件 -->
<message key="user.required"/>
</field-validator>
</field>
<!-- 字段校验器,校验password属性 -->
<field name="password">
<!-- 配置必填字符串校验器 -->
<field-validator type="requiredstring" short-circuit="true">
<message key="pass.required"></message>
</field-validator>
<!-- 密码长度必须是3到6位 -->
<field-validator type="stringlength">
<param name="minLength">3</param>
<param name="maxLength">6</param>
<message key="pass.length"></message>
</field-validator>
</field>
</validators>