亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

Strust2學習之Action、Result知識要點

2024-04-27 15:13:12
字體:
來源:轉載
供稿:網友
1.Action傳遞數據至jsp

發送:Action向前端傳遞數據的代碼(共有四種方式,一般采用這一種):

package com.bjsxt.struts2.user.action;import java.util.Map;import org.apache.struts2.interceptor.applicationAware;import org.apache.struts2.interceptor.RequestAware;import org.apache.struts2.interceptor.sessionAware;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginAction2 extends ActionSupport implements RequestAware,SessionAware, ApplicationAware {		PRivate Map<String, Object> request;	private Map<String, Object> session;	private Map<String, Object> application;		//DI dependency injection	//IoC inverse of control	public String execute() {		request.put("r1", "r1");		session.put("s1", "s1");		application.put("a1", "a1");		return SUCCESS; 	}	@Override	public void setRequest(Map<String, Object> request) {		this.request = request;	}	@Override	public void setSession(Map<String, Object> session) {		this.session = session;	}	@Override	public void setApplication(Map<String, Object> application) {		this.application = application;	}		}

采用控制反轉的方式,通過集合接收數據

 

接收:JSP接收數據(一般采用session接收):

<body>	User Login Success!	<br />	<s:property value="#request.r1"/> | <%=request.getAttribute("r1") %> <br />	<s:property value="#session.s1"/> | <%=session.getAttribute("s1") %> <br />	<s:property value="#application.a1"/> | <%=application.getAttribute("a1") %> <br />	<s:property value="#attr.a1"/><br />	<s:property value="#attr.s1"/><br />	<s:property value="#attr.r1"/><br />	<s:debug></s:debug>	<br /></body>

采用Strust2標簽接收數據,其中<s:debug></s:debug>是struts2提供了一個非常好的調試方法.就是在頁面上添加一個debug標簽..它會自動幫我們將一些信息顯示在頁面上。

 

2.Strust.xml使用通配符來簡化配置

<struts>    <constant name="struts.devMode" value="true" />    <package name="actions" extends="struts-default" namespace="/actions">        <action name="Student*" class="com.bjsxt.struts2.action.StudentAction" method="{1}">            <result>/Student{1}_success.jsp</result>        </action>                <action name="*_*" class="com.bjsxt.struts2.action.{1}Action" method="{2}">            <result>/{1}_{2}_success.jsp</result>        </action>    </package></struts>

 

3.簡單數據校驗,傳遞錯誤信息

使用this.addFieldError()方法將錯誤信息傳遞至前端:

public String add() {		if(name == null || !name.equals("admin")) {			this.addFieldError("name", "name is error");			this.addFieldError("name", "name is too long");			return ERROR;		} 		return SUCCESS;	}

 

前端采用標簽接收錯誤信息:

<body>	User Add Error!	<s:fielderror fieldName="name" theme="simple"/>	<br />	<s:property value="errors.name[0]"/>	<s:debug></s:debug></body>

傳遞過來的errors是一個含有數組的集合,因此使用鍵值對取信息,再采用數組下標取值。

 

4.在Strust.xml中的一些常用配置的解釋

默認的action是index,處理還會交給下面的index的action,一般可用于用戶輸入不存在的action時,頁面跳轉到指定頁面(規范用戶操作,界面友好):

<default-action-ref name="index"></default-action-ref>

 

strust的開發模式,默認值為false,改為true后一代更改文件配置不需重啟tomcat就可生效:

<constant name="struts.devMode" value="true" />

PS:但論壇有用戶反映,使用開發模式后,jQuery異常??梢詼y試,建立項目時建議關閉開發模式

 

5.Strust.xml中<result type="XXX">即跳轉方式有四種:

 <action name="r1">	    	<result type="dispatcher">/r1.jsp</result>	    </action>	    	    <action name="r2">	    	<result type="redirect">/r2.jsp</result>	    </action>	    	    <action name="r3">	    	<result type="chain">r1</result>	    </action>	    	    <action name="r4">	    	<result type="redirectAction">r2</result>	    </action>

dispatcher是服務器跳轉頁面,redirect是客戶端跳轉頁面,chain是服務器跳轉到action,redirectAction是客戶端跳轉到action。

 

 

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
青青草精品毛片| 国产精品视频午夜| 精品人伦一区二区三区蜜桃网站| 成人久久久久爱| 欧美激情啊啊啊| 韩国视频理论视频久久| 久久久91精品| 国产成人拍精品视频午夜网站| 国产精品久久久久久久av大片| 伊人激情综合网| 欧美性视频网站| 国产一区二区三区18| 1769国内精品视频在线播放| 国产精品免费久久久久久| 成人av在线亚洲| 亚洲欧美精品伊人久久| 日韩亚洲在线观看| 日韩有码在线播放| 91免费精品视频| 国产成人综合av| 欧美在线精品免播放器视频| 亚洲最新av网址| 久久久欧美精品| 国产精品自产拍高潮在线观看| 国产精品视频区1| 亚洲国产精品推荐| 韩国精品久久久999| 午夜精品免费视频| 欧美日韩xxx| 久久最新资源网| 日本三级久久久| 在线观看国产精品91| 久久香蕉国产线看观看网| 这里只有精品久久| 亚洲成人久久久| 国产精品亚发布| 91九色国产社区在线观看| 国产精品草莓在线免费观看| 91久久国产综合久久91精品网站| 日韩欧美精品免费在线| 国产精品成人播放| 一本一本久久a久久精品牛牛影视| 久久久天堂国产精品女人| 亚洲永久免费观看| 久久国产精品久久久久久久久久| 亚洲一区久久久| 成人精品福利视频| 日韩毛片中文字幕| 成人午夜两性视频| 欧美日韩亚洲国产一区| 久久久噜久噜久久综合| 亚洲少妇中文在线| 亚洲国产精品yw在线观看| 高潮白浆女日韩av免费看| 国产精品黄页免费高清在线观看| 亚洲人午夜色婷婷| 91精品国产91久久久久久不卡| 欧美大成色www永久网站婷| 91精品中国老女人| 亚洲美女久久久| 国产精品丝袜高跟| 欧美性猛交xxxx免费看漫画| 91久久在线观看| 91国产中文字幕| 国产91色在线| 欧美一区二区三区四区在线| 亚洲欧美日韩精品久久奇米色影视| 91社影院在线观看| 国产最新精品视频| 国产亚洲一区二区精品| 69久久夜色精品国产69乱青草| 欧美最猛性xxxxx亚洲精品| 欧美久久精品一级黑人c片| 亚洲已满18点击进入在线看片| 欧美日韩激情小视频| www.欧美三级电影.com| 国产精品入口免费视| 国产精品手机播放| 精品一区二区电影| 久久天天躁狠狠躁夜夜躁2014| 日韩一区二区三区国产| 久久久国产精品视频| 韩国三级日本三级少妇99| 九九九久久国产免费| 992tv成人免费影院| 韩剧1988在线观看免费完整版| 欧美日本在线视频中文字字幕| 亚洲国产精品yw在线观看| 日韩精品免费在线| 欧美在线欧美在线| 在线观看国产欧美| 国产精品高清免费在线观看| www.欧美免费| 国产大片精品免费永久看nba| 日韩精品视频观看| 亚洲人高潮女人毛茸茸| 欧美视频一二三| 亚洲日本欧美日韩高观看| 久久久久久久999精品视频| 福利一区视频在线观看| 成人激情电影一区二区| 久久久电影免费观看完整版| 国产91在线播放精品91| 日韩高清人体午夜| 欧美高清在线播放| 欧美成人精品一区二区| xxxx欧美18另类的高清| 国产精品96久久久久久又黄又硬| 97国产在线视频| 欧美在线视频网| 亚洲精品电影网| 尤物精品国产第一福利三区| 久久久久久久国产| 中文字幕无线精品亚洲乱码一区| 国产剧情日韩欧美| 播播国产欧美激情| 久久久精品欧美| 亚洲精品永久免费| 精品久久久久久久久久久久久久| 亚洲人成电影网站色xx| 热久久99这里有精品| 欧美一性一乱一交一视频| 日韩中文字幕网站| 亚洲va久久久噜噜噜久久天堂| 日韩日本欧美亚洲| 国产精品v片在线观看不卡| 精品国产一区二区三区久久狼黑人| 亚洲精品国精品久久99热| 国产精品亚洲综合天堂夜夜| 欧美性在线观看| 亚洲欧洲激情在线| 38少妇精品导航| 亚洲无亚洲人成网站77777| 亚洲三级av在线| 欧美日韩国产va另类| 欧美综合在线第二页| 国产亚洲欧美一区| 亚洲欧洲xxxx| 51精品国产黑色丝袜高跟鞋| 欧美一级黑人aaaaaaa做受| 欧美激情久久久久| 日韩高清人体午夜| 国产精品久久久一区| 精品国产一区二区三区久久| 日韩在线一区二区三区免费视频| 亚洲va国产va天堂va久久| 久久精品小视频| 成人免费视频网| 欧美一级黄色网| 国产主播喷水一区二区| 欧美成人精品在线观看| 国产不卡av在线免费观看| 日本精品视频在线观看| 国产精品久久久久久久av电影| 久久最新资源网| 这里只有精品视频| 久久免费国产视频| 久久青草福利网站| 中文字幕欧美日韩va免费视频| 91精品国产91久久久久久不卡| 欧美午夜精品久久久久久人妖| 久久躁狠狠躁夜夜爽| 欧日韩在线观看| 欧美激情一级欧美精品|