国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JSP > 正文

獲取Struts2參數(shù)的三種方法

2024-09-05 00:18:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Struts2是一個(gè)封閉的框架,因此手動(dòng)獲取參數(shù)的工作不再需要通過(guò)本機(jī)請(qǐng)求獲取參數(shù)。今天錯(cuò)新技術(shù)頻道小編為大家整理了幾種可以獲得參數(shù)的方法。

獲取Struts2參數(shù)的三種方法

前言:

Struts2不在建議我們使用原生的servletAPI來(lái)獲取參數(shù),這樣做的目的是事項(xiàng)Struts2的action與servlet進(jìn)行解耦,可以在日后更加方便的對(duì)action類進(jìn)行測(cè)試。

Struts2獲取參數(shù)的三種辦法:

(1)屬性驅(qū)動(dòng)方式
(2)模型驅(qū)動(dòng)方式
(3)對(duì)象驅(qū)動(dòng)方式

one by one

屬性驅(qū)動(dòng)方式

/*  * 參數(shù)獲取方式之屬性驅(qū)動(dòng)方式  */ public class TestAction extends ActionSupport {   //設(shè)置與表單項(xiàng)相對(duì)應(yīng)的屬性,并設(shè)置set,get方法   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;   }    @Override   public String execute() throws Exception {     System.out.println("name:" + name + ",password:" + password);     return SUCCESS;   } } 

但是這種方式會(huì)使得我們的action過(guò)去繁多不易于閱讀和管理,所以我們不推薦使用。

模型驅(qū)動(dòng)

/*  * 參數(shù)獲取方法之模型驅(qū)動(dòng)方式  */ public class TestAction3 extends ActionSupport implements ModelDriven<User>{   /*    * (1)繼承自 ModelDriven<User>借口    * (2)創(chuàng)建User對(duì)象。    * (3)實(shí)現(xiàn)ModelDriven.getModel()方法并返回該對(duì)象    */   private User user = new User();      @Override   public String execute() throws Exception {     System.out.println(user);     return SUCCESS;   }    @Override   public User getModel() {     return user;   } } 

我們看到這樣簡(jiǎn)潔了不少是值得我們推薦的方式。

對(duì)象驅(qū)動(dòng)

/*  * 獲取參數(shù)方式之對(duì)象驅(qū)動(dòng)方式  */ public class TestAction2 extends ActionSupport {   /*    * 和屬性驅(qū)動(dòng)方式?jīng)]有什么不同,只不過(guò)我們這里的是對(duì)象而已    * 還有一點(diǎn)不同體現(xiàn)在表單項(xiàng)控件的屬性名上name=“對(duì)象名.屬性名”    */   private User user;      public User getUser() {     return user;   }    public void setUser(User user) {     this.user = user;   }    @Override   public String execute() throws Exception {     System.out.println(user);     return SUCCESS;   } } 
<form action="${pageContext.request.contextPath }/TestAction2.action" method="post">   用戶名:<input name="user.name" type="text" /><br/>   密碼:<input name="user.password" type="password" /><br/>   <input type="submit" value="登錄"> </form> 

?我們看到對(duì)象驅(qū)動(dòng)模型簡(jiǎn)潔是簡(jiǎn)潔了,但是在表單項(xiàng)中又繁瑣且不便于理解了,所以我們強(qiáng)烈推薦使用模型驅(qū)動(dòng)方式獲取參數(shù)。

這這我們只講解了參數(shù)獲取的方式,并沒(méi)有講解原理性的東西,原理涉及到攔截器,等我們學(xué)習(xí)了攔截器我們?cè)谶M(jìn)行這部分的原理講解。

今天錯(cuò)新技術(shù)頻道為大家?guī)?lái)獲取Struts2參數(shù)的三種方法,看完上文是介紹,大家都掌握了吧!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 忻州市| 阜城县| 通道| 陇西县| 凤城市| 三都| 浏阳市| 涞水县| 叙永县| 波密县| 洛浦县| 衡山县| 莱西市| 石泉县| 威远县| 兴安县| 中山市| 安龙县| 建始县| 张家口市| 阿拉尔市| 西丰县| 兴山县| 桂平市| 华阴市| 永济市| 沙雅县| 景谷| 青州市| 瑞金市| 新竹县| 阳春市| 沙坪坝区| 定南县| 肥城市| 张家港市| 南郑县| 湾仔区| 乌审旗| 南靖县| 吴堡县|