Struts2進修筆記(6)-簡略的數據校驗。本站提示廣大學習愛好者:(Struts2進修筆記(6)-簡略的數據校驗)文章只能為提供參考,不一定能成為您想要的結果。以下是Struts2進修筆記(6)-簡略的數據校驗正文
數據校驗是在項目開辟中弗成缺乏的一部門,用戶登錄時、暗碼驗證時都須要,固然要做的起首是取得用戶輸出的內容,然後對內容停止驗證,普通都是從數據庫中讀出然後校驗,假如毛病則顯示提醒信息,准確則進入用戶主界面。
上面用一個簡略小例子來講明下步調:
1、index的表單
<%@ page language="java" contentType="text/html; charset=UTF-8"
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" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<base href="<%=basePath %>"/>
<title>Insert title here</title>
</head>
<body>
<h1>演示</h1>
<form action="user/user!check" method="post">
姓名:<input type="text" name="user.name"></input>
<br/>
年紀:<input type="text" name="user.age"></input>
<br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
提交時會有兩個變量--user.name 和user.age傳到server,然後挪用struts.xml文件設置裝備擺設中的對應Action
2、struts.xml設置裝備擺設
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="front" namespace="/user" extends="struts-default">
<action name="user" class="com.myservice.web.UserAction">
<result>/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
很顯著-當前往success時挪用success.jsp,error則挪用error.jsp
3、Action中的check辦法內容
public String check(){
System.out.println("name="+user.getName());
System.out.println("age="+user.getAge());
if(user.getName().equals("admin")&&user.getAge()==20){
return SUCCESS;
}else{
this.addFieldError("name", "name is error");
this.addFieldError("name", "name is too long");
return ERROR;
}
}
在這裡我們挪用了addFieldError辦法
4、error.jsp頁面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>驗證掉敗</h2>
<s:property value="errors.name[0]"/>
<br>
<s:property value="errors.name[1]"/>
<s:debug></s:debug>
</body>
</html>
外面第三行是解釋的添加了struts2的標簽庫,而且以s開首。
而倒數第四行和第六行是重點,errors.name[0]對應的就是我們在3中經由過程addFieldError辦法,放入到name屬性中的name is error,errors.name[1]則很顯著是name is too long。倒數第三行是調試信息。
全部後果最初顯示為:
以上就是Struts2中簡略的數據校驗的全體內容,願望能給年夜家一個參考,也願望年夜家多多支撐。