有了前幾篇的基礎(chǔ),相信大家對于Struts2已經(jīng)有了一個很不錯的認(rèn)識,本篇我將為大家介紹一些關(guān)于Action接收參數(shù)的三種形式,以及簡單的表單驗(yàn)證實(shí)現(xiàn),下面進(jìn)入正題,首先我們一起先來了解一下最基本的Action接收參數(shù)的形式,直接在我們的Action類中添加成員變量,這樣就可以完成Action接收參數(shù)的操作,具體內(nèi)容詳見代碼展示:
秦淮ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
這里我們以登錄驗(yàn)證為例,進(jìn)行代碼展示,首先是我們的Action類:
/*** * 最基本的接收參數(shù)形式 * @author jho * http://localhost:8080/Struts3/index!login?name="123"&password="456" */ @SuppressWarnings("serial") public class User extends ActionSupport { private String name; private int pwd; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPwd() { return pwd; } public void setPwd(int pwd) { this.pwd = pwd; } public String login(){ System.out.println("name="+name+" Pwd="+pwd); if(123456==pwd){ return SUCCESS; }else{ return ERROR; } } }
下面我們一起來看一下Action的第二種接收參數(shù)的形式,通過User類對象來完成整個的參數(shù)接收,首先我們創(chuàng)建一個User類:
public class User { private String name; private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
然后通過User對象在Action中進(jìn)行用戶提交參數(shù)的接收:
/*** * Dormain Model * @author jho * http://localhost:8080/Struts4/index!login?user.name="123"&user.password="456" */ @SuppressWarnings("serial") public class UserAction extends ActionSupport { private User user; public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String login(){ System.out.println("name="+user.getName()+" Pwd="+user.getPassword()); return SUCCESS; } }
最后是通過Struts的ModelDriven<User>來進(jìn)行用戶參數(shù)的接收,第一步創(chuàng)建我的User類對象,第二部配置我們的Action:
/*** * Model Driven * @author jho * http://localhost:8080/Struts5/index!login?name="123"&password="456" */ @SuppressWarnings("serial") public class UserAction extends ActionSupport implements ModelDriven<User>{ private User user = new User(); public String login(){ System.out.println("name="+user.getName()+" Pwd="+user.getPassword()); return SUCCESS; } public User getModel() { return user; } }
所謂ModelDriven,意思是直接把實(shí)體類當(dāng)成頁面數(shù)據(jù)的收集對象。
對于簡單的表單驗(yàn)證知識,就為大家介紹一下addFieldError()方法:
@SuppressWarnings("serial") public class InputErrorFilter extends ActionSupport{ private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String execute() throws Exception { return SUCCESS; } public String login(){ System.out.println(name+""); if(name!=null && name.equals("hpu")){ return SUCCESS; }else{ this.addFieldError("nameError", "用戶名輸入有誤"); this.addFieldError("nameError", "ul li形式輸出錯誤信息"); return ERROR; } } }
我們的錯誤處理頁面:
<%@ 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%>" rel="external nofollow" > <title>My JSP 'error.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" rel="external nofollow" > --> </head> <body> 操作失敗 <br> 輸入?yún)?shù):<s:text name="name" /><br/> <s:fielderror fieldName="nameError" theme="simple"/><br/> <s:property value="errors.nameError[0]"/><br/> <s:debug></s:debug> </body> </html>
以上所述是小編給大家介紹的Struts2中Action三種接收參數(shù)形式與簡單的表單驗(yàn)證功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!
標(biāo)題名稱:Struts2中Action三種接收參數(shù)形式與簡單的表單驗(yàn)證功能
文章地址:http://chinadenli.net/article30/pghdso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、App設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、云服務(wù)器、App開發(fā)、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)