Struts2之我见系列总结---- Struts接收参数的方式(2012.12.22)

标签: struts2 我见 系列 | 发表时间:2012-12-22 22:19 | 作者:f369504543
出处:http://blog.csdn.net

1.  用Action 的属性接收参数

2. 使用Domain ModelModel接收参数

3. 使用DTO--DTO--数据传输对象接收参数

4. 使用 ModelDriven接收参数

5. 使用request 对象接收参数

 

详细解释:

1. 用Action 的属性:

在action 里面定义要接收的参数,并提供相应的setter,getter,和提交参数的名称一致,并不用做数据类型的转换。

相应提交方式可以用get 和post,如:testAction? name=admin

如:

   public class  TestAction extends BaseAction{

private static final long serialVersionUID = -7463970150000893325L;

private String name;

public void execeute() {

System.out.println(name +" : " + name);

}

public String getName() {

return name;

}

public void setName(String name) {

thisthis.name = name;

}

}

2. 使用Domain ModelModel

在Action 里面不存很多的属性,而是用Model 层用到的模型,保存它的一个对象。相应提交方式可以用get 和post,

如:testAction? resBananRc.name=admin

如:

public class TestAction extends BaseAction{

private static final long serialVersionUID = -7463970150000893325L;

private ResBananRc resBananRc;

public ResBananRc getResBananRc() {

return resBananRc;

}

public void setResBananRc(ResBananRc resBananRc) {

thisthis.resBananRc = resBananRc;

}


 

public void execeute() {

System.out.println("姓名: " + resBananRc.getName());

}

}

3. 使用DTO--DTO--数据传输对象

它的作用是接收参数,传递参数,并不是项目中的实体类。如用户注册时,会用到确认密码,所以要先把参数接收过

来,做处理后,再传递给相应方法去创建User  对象。提交参数的方式的Domail  Model 方式的相同。

DTO:

public class UserDTO {

    private String name;

    private String password;

   private String confirm;

public String getName() {

return name;

}

public void setName(String name) {

thisthis.name = name;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

thisthis.password = password;

}

public String getConfirm() {

return confirm;

}

public void setConfirm(String confirm) {

thisthis.confirm = confirm;

}

}

Action:

public class TestAction extends BaseAction{

private static final long serialVersionUID = -7463970150000893325L;

private UserDTO userDTO;

public UserDTO getUserDTO() {


 

return userDTO;

}

public void setUserDTO(UserDTO userDTO) {

thisthis.userDTO = userDTO;

}

public void execeute() {

System.out.println("姓名: " + userDTO.getName());

}

}

4. 使用 ModelDriven

在创建Action 的时候,发现Action 实现了ModelDriven 接口,去调用接口的getModel()方法,取到了相关对象。

相应提交方式可以用get 和post,如:testAction? name=admin

public class TestAction extends BaseAction implements ModelDriven<ResBananRc>{

private static final long serialVersionUID = -7463970150000893325L;

private ResBananRc resBananRc = new ResBananRc();//这里要手动的New下

public ResBananRc getModel() {

return resBananRc;

}

public void execeute() {

System.out.println("姓名:" + resBananRc.getName());

}

}

5. 使用request 对象

此方法与与传统的JSP 等传接参数一样,即使用request. getParameter(“”)方法

public class TestAction extends BaseAction{

private static final long serialVersionUID = -7463970150000893325L;

public void execeute() {

String name = supersuper.getRequest().getParameter("paraName");

System.out.println("姓名:" + name);

}


 

}

 PS:其中1-3为常用方法。

 

备注:该文件通过网络整理。

 

 

作者:f369504543 发表于2012-12-22 22:19:50 原文链接
阅读:0 评论:0 查看评论

相关 [struts2 我见 系列] 推荐:

Struts2之我见系列总结---- Struts接收参数的方式(2012.12.22)

- - CSDN博客推荐文章
1.  用Action 的属性接收参数. 使用Domain ModelModel接收参数. 使用DTO--DTO--数据传输对象接收参数. 使用 ModelDriven接收参数. 使用request 对象接收参数. 在action 里面定义要接收的参数,并提供相应的setter,getter,和提交参数的名称一致,并不用做数据类型的转换.

Spring MVC 和 Struts2

- - CSDN博客架构设计推荐文章
Web层面的框架学习了三个Struts1和2,SpringMVC,那他们之间肯定存在一个优劣和适用的环境,Struts1和2的异同点我已经做过对比《 Struts1和Struts2》,这篇将对比下Struts2和SpringMVC的异同,下面数据基本来源于网络,本人是搜集整理所得,供大家参考. 一个项目使用什么样的技术,决定的因素很多,我所能想到的有:对系统的性能、开发的效率、团队学习的成本、业务场景等,下面尽量从这几个方面入手,来分析比较下他们之间存在的优劣.

struts2的标签tag

- - CSDN博客编程语言推荐文章
二、 常用的Struts 2.0的标志(Tag)介绍. 在上一篇文章《 为Struts 2.0做好准备》中,我过于详细地介绍了Struts 2.0开发环境和运行环境的配置,所以,本文很少涉及的以上两方面的细节. 如果,您看完《 为Struts 2.0做好准备》后,还有什么不明白,或者没法运行文中例子,请联系我.

Struts2常用标签总结

- - CSDN博客推荐文章
1.Struts2的作用 . Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性. Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求. Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用.

Struts2 标签库讲解

- - CSDN博客架构设计推荐文章
Struts2 标签库讲解. 转自:http://blog.163.com/hzd_love/blog/static/131999881201082111852520/. 要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:. struts2的标签共分为五大类:. 1)条件标签:用于执行基本的条件流转.

struts1,struts2,springMVC终极对比

- - CSDN博客Web前端推荐文章
         最近做项目用到了struts2,之前一直是用struts1和springMVC. 感觉到了struts2从很大程度上和这两个还是有很大区别的,所以今天搜集了些资料,给他们做一下对比.          Struts1官方已经停止更新,现在用的也比较少,这里主要讲一下struts2和struts1比较都有哪些不同和进步.

Struts2中Action自动接收参数

- - CSDN博客架构设计推荐文章
Struts2中Action接收参数的方法主要有以下三种:. 1.使用Action的属性接收参数:(通过属性驱动式).     a.定义:在Action类中定义属性,创建get和set方法;.     b.接收:通过属性接收参数,如:userName;.     c.发送:使用属性名传递参数,如:user1!add?userName=Magci;.

struts2的核心和工作原理

- - CSDN博客架构设计推荐文章
    在学习struts2之前,首先我们要明白使用struts2的目的是什么.     Struts设计的第一目标就是使MVC模式应用于web程序设计. 在这儿MVC模式的好处就不在提了.     Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The Java Servlet API揭示了Java Servlet只是Java API的一个很小子集,这样我们可以在业务逻辑部分使用功能强大的Java语言进行程序设计.

Struts2获取request三种方法

- - 企业架构 - ITeye博客
Struts2获取request三种方法. struts2里面有三种方法可以获取request,最好使用ServletRequestAware接口通过IOC机制注入Request对象. 在Action中获取request方法一:. 在Action中的代码:. 在JSP页面中获取其中的值:. 方法二:通过ServletActionContext类来获取,使用struts2经验如果处理get传参是中文,只能使用该方法进行处理乱码问题.

Struts2、Spring、Hibernate 高效开发的最佳实践

- senyo - IBM developerWorks 中国 : 文档库
Struts2、Spring、Hibernate(SSH)是最常用的 Java EE Web 组件层的开发技术搭配,网络中和许多 IT 技术书籍中都有它们的开发教程,但是通常的教程都会让很多程序员陷入痛苦的配置与修改配置的过程. 本文利用 SSH 中的技术特性,利用 Java 反射技术,按照规约优于配置的原理,基于 SSH 设定编写了一个通用开发框架,这使得开发者可以专注于业务逻辑的开发,而不用随着业务增加而添加或修改任何配置,并且对于权限控制和日志记录也提供了方便的接口.