一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Struts2學習筆記(6)-簡單的數據校驗

Struts2學習筆記(6)-簡單的數據校驗

2020-05-15 10:27meaijojo Java教程

這篇文章主要介紹Struts2中的數據校驗,通過一個簡單的例子來說明,希望能給大家做一個參考。

數據校驗是在項目開發中不可缺少的一部分,用戶登錄時、密碼驗證時都需要,當然要做的首先是獲得用戶輸入的內容,然后對內容進行驗證,一般都是從數據庫中讀出然后校驗,如果錯誤則顯示提示信息,正確則進入用戶主界面。

下面用一個簡單小例子來說明下步驟:

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學習筆記(6)-簡單的數據校驗

以上就是Struts2中簡單的數據校驗的全部內容,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲福利在线观看 | 国产成人久久精品一区二区三区 | 日本一区视频 | 波多野结衣护士 | 国产 日韩 欧美视频二区 | 强漂亮白丝女教师小说 | 午夜私人影院在线观看 视频 | 欧美日本一本线在线观看 | 操老妇| 国产在线视频欧美亚综合 | 婷婷色在线观看 | 免费看全黄特黄毛片 | 精品久久免费视频 | 欧美日韩久久中文字幕 | 美女和男生搞基 | 午夜电影三级还珠格格 | 加勒比一本大道在线 | 国产精品视频免费观看 | 亚洲福利 影院 | 美女厕所尿尿擦逼 | 成人国产一区 | 美女的隐私脱裤子无遮挡 | gayrb漫画免费入口 | 国产精品国产国产aⅴ | 四虎在线免费播放 | 欧美专区在线视频 | 96av视频在线观看 | 国产成人愉拍精品 | 久久这里有精品 | 国产一级视频久久 | 天天澡夜夜澡狠狠澡 | 欧美日韩一区二区综合在线视频 | 午夜影院网站 | 王晶经典三级 | 精品第一国产综合精品蜜芽 | 国产小视频在线 | 果冻传媒九一制片厂网站 | 女同变态 中文字幕 | 黄a级| 男人天堂影院 | 国产99视频精品免费视频7 |