标签:struts2
我们知道,action在web开发中起到了控制器的作用,通过接收客户端传来的参数,执行不同的模块才实现操作,所以说接收参数是很重要的一环,只有接收前端的参数,才能执行数据库的操作等后台业务逻辑,那么就开始一一展示这三种方法吧(只用看action类的编写即可)
1第一种方式:UserAction.java
package com.bjsxt.struts2.user.action; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport { private String name; private int age; public String add() { System.out.println("name=" + name); System.out.println("age=" + age); return SUCCESS; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }在UserAction.java中定义action的属性和所对应的方法,用来接收前端的参数,这是最简单最直观的,但是前提是知道前端传过来的参数是什么,有什么,灵活性不够,所以有了第二种方法:
1UserAction.java代码为
package com.bjsxt.struts2.user.action; import com.bjsxt.struts2.user.model.User; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport { private User user; //private UserDTO userDTO; public String add() { System.out.println("name=" + user.getName()); System.out.println("age=" + user.getAge()); return SUCCESS; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } }UserDTO.java代码为:
package com.bjsxt.struts2.user.dto; public class UserDTO { private String name; private String password; private String confirmingPassword; }
package com.bjsxt.struts2.user.model; public class User { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }这种方法将接收参数的步骤分开写,UserDTO中定义属性,User中定义属性的方法,在action中通过import引入两个类,实现数据的接收。这种方法是我工作中第一次接触的,原来感觉这种方式特别麻烦,为什么要分开写,后来慢慢理解,这样不仅降低程序的耦合性,对程序的拓展等操作具有非常好的规划。但是,但是,有些人更加推崇第三种方法,由于篇幅有限,我在下篇文章来详细分析,期待。。。
Struts2关于Action的系统训练6关于action接收参数的三种方法
标签:struts2
原文地址:http://blog.csdn.net/u012446233/article/details/41961159