您的位置:首页 > 编程语言 > Java开发

struts2简单数据校验

2016-01-28 21:42 501 查看
<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!--此处使用了myeclipse中经常使用的basepath  -->
<base href="<%=basePath%>">

<title>My JSP 'index.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>
通过使用action属性来接受参数,进行简单的数据校验
<span style="color:#ff0000;"><form action="user/user!add" method="post">
姓名:<input type="text" name="name"/>
<input type="submit" value="提交"/>
</form></span>
</body>
</html>
</span>


struts.xml

<span style="font-size:18px;"><?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>
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<!--通过使用struts.i18n.encoding=UTF-8来解决中文乱码问题  -->
<constant name="struts.i18n.encoding=UTF-8" value="true"/>
<package name="user" namespace="/user" extends="struts-default">
<action name="user" class="com.dqpi.eonline.UserAction">
<span style="color:#ff0000;"> <result>
/User_add_success.jsp
</result>
<result name="error">
/User_add_error.jsp
</result></span>
</action>
</package>
</struts>
</span>
UserAction.java

<span style="font-size:18px;">package com.dqpi.eonline;

import com.opensymphony.xwork2.ActionSupport;
/**
* 通过使用Domain Model来接受参数
*
* @author Administrator
*
*/
public class UserAction extends ActionSupport{

private static final long serialVersionUID = 1L;
private String name;
/**
* add方法,在控制台打印接受的参数的内容
* @return
*/
public String add(){
if (name == null||!name.equals("admin")) {
<span style="color:#ff0000;">this.addFieldError("name", "name is error");
this.addFieldError("name", "name is too long");
return ERROR;</span>
}
<span style="color:#ff0000;">return SUCCESS;</span>
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

}
</span>
index.jsp
<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!--此处使用了myeclipse中经常使用的basepath  -->
<base href="<%=basePath%>">

<title>My JSP 'index.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>
通过使用action属性来接受参数,进行简单的数据校验
<form action="user/user!add" method="post">
姓名:<input type="text" name="name"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
</span>
user_add_error.jsp

<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<span style="color:#ff0000;"><%@taglib uri="/struts-tags" prefix="s" %></span>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>user_add_success.jsp</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>
user add error <br/>
<span style="color:#ff0000;"><s:fielderror fieldName="name" theme="simple"/>
<s:property value="errors.name.[0]" /></span>
<!--通过<s:debug>标签就可以知道errors是一个map,当value="errors"时,取得的值是errors内的所有内容,这个内容又是一个数组,通过访问下标的方式来访问其中的元素  -->
<span style="color:#ff0000;">    <s:debug></s:debug></span>
</body>
</html>
</span>
此处使用了struts的标签库,因此引进了struts的标签

user_add_success.jsp

<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>user_add_success.jsp</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>
user add success <br>
</body>
</html>
</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: