`
fantasy0707
  • 浏览: 36750 次
  • 性别: Icon_minigender_1
  • 来自: 兰州
社区版块
存档分类
最新评论

Struts2接收参数的几种方式

 
阅读更多
Struts2接收参数的几种方式:
1. 用Action的属性:
在action里面定义要接收的参数,并提供相应的setter,getter,可以和提交参数的名称一致,并不用做数据类型的转换。
如:
public class UserAction extends ActionSupport {
	private String password;
	pirvate String name;

  //……对应的setter,getter方法

public void execeute() {
		System.out.println(name +”:”+passowrd);
              return “success”;

}

}

相应提交方式可以用get和post,如:userAction?password=admin&name=admin
2. 使用Domain Model:
在Action里面不存很多的属性,而是用Model层用到的模型,保存它的一个对象
如:
public class UserAction extends ActionSupport {
	
	private User user;

  //……对应的setter,getter方法

public void execeute() {
   System.out.println(user.getName() +”:”+user.getPassowrd());
   return “success”;

}

}

提交参数:userAction?user.password=1&user.name=admin;这里面的user指向Action里面的user。

3. 使用DTO--数据传输对象
它的作用是接收参数,传递参数,并不是项目中的实体类。如用户注册时,会用到确认密码,所以要先把参数接收过来,做处理后,再传递给相应方法去创建User对象。
public class UserDTO {

	private String name;
	private String password;
	private String confirm;
//……对应的setter,getter方法
}

可能的Action
public class UserAction extends ActionSupport {
	
	private UserDTO  user;

  //……对应的setter,getter方法

public void execeute() {
	if(checkdate(userDTO userDTO) )//检查数据{
		newUser(UserDTO  userDTO)//创建User对象

			System.out.println(user.name +”:”+user.passowrd);

return “success”;
}
return “fail”;

}

}


提交参数的方式的Domail Model方式的相同。


4.使用ModelDriven:
在创建Action的时候,发现Action实现了ModelDriven接口,去调用 接口的getModel()方法,取到了User。
public class UserAction extends ActionSupport implements ModelDriven<User> {
	
	private User user = new User();  //这里要手动的New下

  //……对应的setter,getter方法

public void execeute() {
		System.out.println(user.name +”:”+user.passowrd);
return “success”;

}

 @Override
	public User getModel() {
	return user;
}
}

相应提交方式可以用get和post,如:userAction?password=admin&name=admin
分享到:
评论
1 楼 moyue 2010-04-12  
最近正在研究struts2 谢谢你的文章,也希望这方面的高手能出几篇在实际应用中的文章。

相关推荐

    java struts2接收参数的几种方法

    本文将深入探讨Struts2接收参数的几种主要方法,包括通过Action的属性、使用Domain Model(领域模型)以及采用DTO(数据传输对象)进行参数接收。 ### 一、使用Action的属性接收参数 #### 原理 在Struts2框架中,...

    Struts2 的接受参数的几种方式

    ### Struts2 接受参数的几种方式 #### 第一种方式:直接在 Action 中设置变量 这种方式是最直接的参数接收方式。当从前端传递参数到后端时,我们需要确保 Action 类中有与这些参数名称相匹配的变量。例如,如果...

    Struts2的三种传值方式比较(附demo)

    在本篇文章中,我们将详细探讨Struts2的三种主要的传值方式,并通过一个简单的Demo来加深理解。 1. **Action属性传值** Struts2的核心是Action类,每个Action类都代表一个特定的业务逻辑。我们可以通过在Action类...

    Struts2教学视频

    Namespace是Struts2中用于组织Action的一种方式,可以看作是Action的命名空间。它有助于避免Action名称冲突,同时提供了更灵活的URL映射策略。 **四、标签** 标签在struts.xml中定义一个配置包,可以包含多个Action...

    经典struts2分页方法 JAVA_WEB必备分页 源码

    综上所述,经典Struts2分页方法涉及了Action、Model、DAO、结果映射、视图、拦截器、JSP/Freemarker标签库、URL参数、分页算法和最佳实践等多个方面。通过学习和实践这些知识点,Java Web开发者能够更好地理解和应用...

    struts2分页效果第二种

    Struts2提供了几种方式来实现这个功能,第二种方法可能是指使用自定义拦截器或插件。例如,可以使用Struts2的DisplayTag库,它是一个强大的表格和分页标签库。在JSP中,我们可以这样写: ```jsp ${pageBean....

    Struts2登录DEMO

    7. **异常处理**:Struts2提供了一种全局的异常处理机制,通过`&lt;global-exception-mappings&gt;`和`&lt;global-results&gt;`配置,可以统一处理Action执行过程中的异常,并定义异常发生后的跳转页面。 8. **国际化...

    struts2文件上传jar

    Struts2是一个流行的Java web框架,它为开发者提供了一种结构化的方式来构建MVC(Model-View-Controller)应用程序。在Struts2中,文件上传是常见的功能,用于允许用户在网页上上传文件到服务器。这个压缩包包含了...

    struts2的新特性

    Struts2提供了几种机制来简化这个过程: - **直接绑定**:如`hello.action?id=1`会直接为Action中的id属性赋值。 - **对象属性绑定**:若参数较多,且都属于同一对象,则可将所有属性封装在一个对象内,例如`...

    struts2 lib design

    在Struts2的设计中,核心理念包括以下几个方面: 1. **模块化设计**:Struts2的每个组件如Action、Result、Interceptor等都是独立的,可以单独替换或扩展,使得系统具有很高的灵活性。 2. **依赖注入(Dependency ...

    struts2学习笔记黑马程序员

    2. **定义Action类**:在Action类中定义接收文件的方法,并使用Struts2提供的API完成文件的保存操作。 **注意事项:** - **文件大小限制**:默认情况下,Struts2对上传文件的大小有限制。可以在`struts.xml`或`...

    struts2和hibernate结合增删改查

    1. **配置Struts2**:在web.xml中配置Struts2的DispatcherServlet,添加struts2的核心过滤器,并设置相关的初始化参数。 2. **引入Hibernate**:在项目中添加Hibernate的库,包括hibernate-core、hibernate-...

    struts2-jsondemo

    6. **JSONParam注解**:对于接收JSON请求,Struts2提供了`@JSONParam`注解,可以将JSON请求参数绑定到Action的属性上,简化了数据处理。 7. **JSON验证**:Struts2提供了基于JSON的验证功能,可以在Action中定义...

    Struts2笔记

    2. **输入参数**:通过属性注入的方式接收用户提交的数据。 3. **返回结果**:Action类需要返回一个字符串,表示下一步的流向,例如`SUCCESS`、`ERROR`等。 #### 四、配置文件详解 1. **`struts2-default.xml`**:...

    struts2上传和下载文件详细源码

    Struts2提供了两种方式实现文件下载:一种是通过流的方式,另一种是使用`Result`类型。流的方式通常涉及创建一个Action,该Action读取并流化要下载的文件内容。使用`&lt;s:url&gt;`和`&lt;a&gt;`标签生成下载链接,然后在浏览器...

    Struts2之Servlet API及单元测试初识案例struts005

    Struts2中的`ActionServlet`就是对Servlet API的一种扩展,它作为整个框架的调度中心,负责接收请求、调用Action并返回相应的结果。 在Struts2中,Servlet API主要体现在以下几点: 1. **过滤器(Filter)**:...

    struts2中AJAX实现

    在Struts2中实现AJAX,主要涉及以下几个关键点: 1. **Struts2 Action和Result**:首先,你需要创建一个Struts2 Action类,它将处理客户端发送的请求。这个Action类中定义的方法对应于用户触发的操作,并返回一个...

    struts2 dwr ajax 配置 局部刷新

    Struts2、DWR(Direct Web Remoting)和Ajax是Web开发中的关键技术,它们结合使用可以实现页面的局部刷新,提高用户体验。Struts2是一个基于MVC设计模式的Java Web框架,DWR则是一个用于简化AJAX开发的库,允许前端...

    传智播客struts2教程

    在学习Struts2时,除了基本的接收参数和文件上传,还需要了解以下几个关键知识点: 1. **Action和结果类型**:Action是Struts2的核心组件,它封装了业务逻辑,而结果类型定义了请求处理后的跳转路径,如转发、...

Global site tag (gtag.js) - Google Analytics