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

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Struts2學(xué)習(xí)筆記(六)——Action處理請(qǐng)求參數(shù)

2019-11-15 00:54:01
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
Struts2學(xué)習(xí)筆記(六)——Action處理請(qǐng)求參數(shù)

在struts2框架中關(guān)于Action處理請(qǐng)求參數(shù)有兩種方案(三個(gè)方式),表單屬性的名稱應(yīng)該和在Action類中定義的成員屬性或者在javaBean中定義的成員屬性名稱一樣:

1、屬性驅(qū)動(dòng)

1)直接在Action類中定義成員屬性來(lái)接收請(qǐng)求參數(shù) (將Action當(dāng)成javaBean),在Action中還需要定義成員屬性的setter方法。

表單信息:

1 <form action="${pageContext.servletContext.contextPath}/testAction.action">2     name:<input type="text" name="name"><br>3     passWord:<input type="password" name="password"><br>4     <input type="submit" value="提交">5 </form>

Action類:

 1 public class TestAction { 2     PRivate String name; 3     private String password; 4      5     public String getName() { 6         return name; 7     } 8  9     public void setName(String name) {10         this.name = name;11     }12 13     public String getPassword() {14         return password;15     }16 17     public void setPassword(String password) {18         this.password = password;19     }20 21     public String execute() {22         System.out.println("name: " + name);23         System.out.println("password: " + password);24         return "success";25     }26 }

前臺(tái)輸入信息:

后臺(tái)顯示結(jié)果:

2)直接將javaBean做為Action的屬性,在頁(yè)面上必須使用ognl表達(dá)式來(lái)描述組件的name屬性

1 username:<input type="text" name="user.username"><br>

JavaBean:

 1 public class Person { 2     private String name; 3     private String password; 4   5     public String getName() { 6         return name; 7     } 8     public void setName(String name) { 9          this.name = name;10     }11     public String getPassword() {12         return password;13     }14     public void setPassword(String password) {15         this.password = password;16     }17 }

表單信息:

1 <form action="${pageContext.servletContext.contextPath}/testAction.action">2     name:<input type="text" name="person.name"><br>3     password:<input type="password" name="person.password"><br>4     <input type="submit" value="提交">5 </form>

Action:

 1 public class TestAction { 2     private Person person; 3      4     public Person getPerson() { 5         return person; 6     } 7  8     public void setPerson(Person person) { 9         this.person = person;10     }11 12     public String execute() {13         System.out.println("name: " + person.getName());14         System.out.println("password: " + person.getPassword());15         return "success";16     }17 }

前臺(tái)輸入信息:

后臺(tái)顯示結(jié)果:

這種方式是通過(guò)name="params"的攔截器實(shí)現(xiàn)參數(shù)封裝的。

1 <interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>

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

模型驅(qū)動(dòng)處理請(qǐng)求參數(shù)的步驟為:

步驟:

  • 1.Action必須實(shí)現(xiàn)ModelDriven接口
  • 2.重寫getModel()方法,返回一個(gè)javaBean對(duì)象.
  • 3.實(shí)例化一個(gè)javaBean對(duì)象.

JavaBean:

 1 public class Person { 2     private String name; 3     private String password; 4     public String getName() { 5         return name; 6     } 7     public void setName(String name) { 8         this.name = name; 9     }10     public String getPassword() {11         return password;12     }13     public void setPassword(String password) {14         this.password = password;15     }16 }

表單信息:

1 <form action="${pageContext.servletContext.contextPath}/testAction.action">2     name:<input type="text" name="name"><br>3     password:<input type="password" name="password"><br>4     <input type="submit" value="提交">5 </form>

Action:

 1 public class TestAction implements ModelDriven { 2     private Person person = new Person(); 3      4     public Person getPerson() { 5         return person; 6     } 7  8     public void setPerson(Person person) { 9         this.person = person;10     }11 12     public String execute() {13         System.out.println("name: " + person.getName());14         System.out.println("password: " + person.getPassword());15         return "success";16     }17 18     @Override19     public Object getModel() {20         return person;21     }22 }

前臺(tái)輸入信息:

后臺(tái)顯示結(jié)果:

4、封裝數(shù)據(jù)到Collection或數(shù)組

JavaBean:

 1 public class Person { 2     private String name; 3     private String password; 4     public String getName() { 5         return name; 6     } 7     public void setName(String name) { 8         this.name = name; 9     }10     public String getPassword() {11         return password;12     }13     public void setPassword(String password) {14         this.password = password;15     }16 }

表單信息:

1 <form action="${pageContext.servletContext.contextPath}/testAction.action">2     name1:<input type="text" name="list[0].name"><br>3     password1:<input type="password" name="list[0].password"><hr>4     name2:<input type="text" name="list[1].name"><br>5     password2:<input type="password" name="list[1].password"><br>6     <input type="submit" value="提交">7 </form>

Action:

 1 public class TestAction { 2     private List<Person> list; 3  4     public List<Person> getList() { 5         return list; 6     } 7  8     public void setList(List<Person> list) { 9         this.list = list;10     }11 12     public String execute() {13         System.out.println("name1: " + list.get(0).getName());14         System.out.println("password1: " + list.get(0).getPassword());15         System.out.println("name2: " + list.get(1).getName());16         System.out.println("password2: " + list.get(1).getPassword());17         return "success";18     }19 }

前臺(tái)輸入信息:

后臺(tái)顯示結(jié)果:

5、封裝數(shù)據(jù)到Map

JavaBean:

 1 public class Person { 2     private String name; 3     private String password; 4     public String getName() { 5         return name; 6     } 7     public void setName(String name) { 8         this.name = name; 9     }10     public String getPassword() {11         return password;12     }13     public void setPassword(String password) {14         this.password = password;15     }16 }

表單信息:

1 <form action="${pageContext.servletContext.contextPath}/testAction.action">2     name1:<input type="text" name="map['one'].name"><br>3     password1:<input type="password" name="map['one'].password"><hr>4     name2:<input type="text" name="map['two'].name"><br>5     password2:<input type="password" name="map['two'].password"><br>6     <input type="submit" value="提交">7 </form>

Action:

public class TestAction {    private Map<String, Person> map;    public Map<String, Person> getMap() {        return map;    }    public void setMap(Map<String, Person> map) {        this.map = map;    }    public String execute() {        System.out.println("name1: " + map.get("one").getName());        System.out.println("password1: " + map.get("one").getPassword());        System.out.println("name2: " + map.get("two").getName());        System.out.println("password2: " + map.get("two").getPassword());        return "success";    }}

前臺(tái)輸入信息:

后臺(tái)顯示結(jié)果:


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄冈市| 保德县| 双牌县| 宜章县| 壤塘县| 沁阳市| 太仓市| 县级市| 太保市| 曲周县| 张家港市| 城固县| 东莞市| 九龙县| 黔西县| 兴和县| 海伦市| 富源县| 筠连县| 丰镇市| 泗水县| 木兰县| 太和县| 和龙市| 马山县| 长阳| 天全县| 西充县| 韩城市| 习水县| 保靖县| 虹口区| 潜山县| 大城县| 崇阳县| 卓尼县| 博罗县| 盐边县| 高雄市| 宁蒗| 许昌市|