`
在水伊方
  • 浏览: 111592 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Struts2接收请求参数

 
阅读更多

采用基本类型接收请求参数(get/post)

在action类型定义与请求参数同名的属性,struts2便能自动接收请求参数并赋予给同名属性。

请求路径:http://localhost:8080/Struts2/test/hello?id=123&name=struts2

action类:

package cn.itcast.action;

public class HelloWorldAction {
	private Integer id;
	private String name;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	public String execute() {
		return "success";
	}
}

 

 配置文件:

<struts>	
	<constant name="struts.configuration.xml.reload" value="true" />
	
	<package name="itcast" namespace="/test" extends="struts-default">
		<action name="hello" class="cn.itcast.action.HelloWorldAction" method="execute" >			
			<result name="success">/WEB-INF/page/hello.jsp</result>
		</action>
	</package>	
</struts>

 

在jsp页面获取请求的值:

<body>
     id:${id }<br/>
     name:${name }<br/>   
</body>

 

说明:struts2通过反射技术调用与请求参数同名的属性的setter方法来获取请求参数值

 

采用复合类型接收参数

请求路径:http://localhost:8080/Struts2/test/hello?person.id=123&person.name=struts2

 

 action类:

package cn.itcast.action;

public class HelloWorldAction {
	private Person person;

	public Person getPerson() {
		return person;
	}

	public void setPerson(Person person) {
		this.person = person;
	}

	public String execute() {
		return "success";
	}
}

 

Person类:

package cn.itcast.action;

public class Person {
	private Integer id;
	private String name;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

 

说明Struts2首先通过反射技术调用Person的默认构造器创建person对象,然后再通过反射技术调用person中与请求参数同名的属性的setter方法来获取请求参数值,所以为了避免出现不可预料的错误,最好在Person类中定义一个无参数的构造方法。

 

配置文件:

<struts>	
	<constant name="struts.configuration.xml.reload" value="true" />
	
	<package name="itcast" namespace="/test" extends="struts-default">
		<action name="hello" class="cn.itcast.action.HelloWorldAction" method="execute" >			
			<result name="success">/WEB-INF/page/hello.jsp</result>
		</action>
	</package>	
</struts>

 

在jsp页面获取请求的值:

<body>
      id:${person.id }<br/>
      name:${person.name }<br/>   
</body>

 

 

分享到:
评论

相关推荐

    struts2 使用action属性接收中文参数(post提交)

    在处理用户请求时,Struts2允许开发者通过Action类来接收和处理参数,包括中文参数。当我们需要通过POST方法提交包含中文字符的数据时,可能会遇到编码问题,因为HTTP请求默认使用的是ASCII编码,而中文字符需要UTF-...

    struts2 接收参数

    7. **Struts2的类型转换**:Struts2提供了内置的类型转换器,可以自动将请求参数转换为Java对象。如果需要自定义转换逻辑,可以实现`Converter`接口。 在`Struts2_0900_ModelDrivenParamInput`这个文件中,可能包含...

    Struts2接收参数

    当请求被处理时,Struts2会自动将请求参数值绑定到Action类的相应属性上,这一过程称为“自动类型转换”。 例如,如果你有一个名为`saveUser`的方法,接收一个`User`对象作为参数,`User`类中有`name`和`email`字段...

    java struts2接收参数的几种方法

    Struts2框架提供了多种灵活的方式来接收和处理HTTP请求参数,开发者可以根据具体的应用场景和需求选择最适合的方法。无论是直接使用Action的属性,还是通过Domain Model或DTO进行参数接收,都旨在简化开发流程,提高...

    Ajax与Struts2异步请求数据

    这个插件提供了JSON结果类型,使得Struts2可以返回JSON格式的数据,便于Ajax请求接收和解析。 - **配置Struts2 XML**:在`struts.xml`中定义一个包`ajax`,并扩展`json-default`,设置`result`类型为`json`,这样...

    传智播客struts2.1源代码_接收请求参数

    在Struts2框架中,接收请求参数主要通过Action类和ValueStack来实现。 首先,了解Struts2的Action类。Action类是用户业务逻辑的载体,每个Action对应一个特定的HTTP请求。当用户提交表单或者点击链接时,Struts2会...

    Struts2之Action接收请求参数和拦截器详解

    Struts2之Action接收请求参数和拦截器详解 Struts2框架中的Action接收请求参数和拦截器详解是非常重要的知识点,本文将详细介绍Struts2之Action接收请求参数和拦截器详解的相关知识点。 一、Struts2框架中的Action...

    Struts2接收参数ModelDriven

    这篇博客文章可能详细探讨了如何在Struts2中使用ModelDriven接口来接收和处理请求参数。 ModelDriven接口允许开发者将一个对象绑定到Action上下文中,这个对象可以被用来存储和传递业务逻辑层的数据。当Action类...

    AJAX和struts2传递JSON数组

    这告诉Struts2框架当收到名为`struts2Action`的请求时,使用`Struts2Action`类,并返回JSON格式的结果。如果需要在Action执行后返回一个页面,可以将`result`元素的类型改为`dispatcher`。 总结来说,通过这种方式...

    Struts2下的jQueryAjax请求(Json)

    struts2下通过jquery的ajax从后台传json对象并展示在web页面上的一个小例子,所需的jar包请自己下载否则无法运行,所需的包包括struts的必须包,json的支持包和struts对json的支持包

    struts2获取参数,解决乱码,跳转

    在Struts2中,我们可以使用Action类来接收和处理请求参数。Action类是业务逻辑的载体,它通常会有一个或多个方法(称为执行方法)与特定的URL路径关联。当用户发送一个HTTP请求到服务器,Struts2拦截器会解析请求,...

    struts2中action接收参数的方式

    在这个例子中,Struts2会解析请求参数,创建一个User对象列表,并将每个用户的名字设置进去。 总的来说,Struts2提供了一套灵活的参数接收机制,包括但不限于直接通过setter方法、使用注解和处理复杂类型。这种设计...

    Struts2 处理多个请求

    在`struts.xml`或`struts.properties`中,可以定义一个Action类接收所有以特定前缀开始的请求,然后根据请求参数来决定执行哪个方法。 ```xml &lt;package name="default" namespace="/" extends="struts-default"&gt; ...

    Struts2 Action参数详细说明

    Struts2框架中的Action是核心组件之一,它负责接收HTTP请求并进行业务逻辑处理,然后将控制转向相应的视图进行展示。在Struts2中,Action的配置和使用方式有多种,下面将详细介绍Struts2 Action参数的详细说明。 ...

    android接收json例子struts2Action返回json格式数据

    本示例将详细讲解如何在Android应用中通过HTTP请求从Struts2 Action获取JSON格式的数据,并进行解析和处理。 首先,我们需要了解JSON(JavaScript Object Notation)的基本结构。JSON是一种数据格式,它基于...

    struts1.x 和 struts2.x向Action里填充jsp参数原理

    3. Struts自动将请求参数值绑定到ActionForm的属性上,这得益于JavaBean规范中的getter和setter方法。 4. ActionServlet调用ActionForm的validate()方法进行表单验证。 5. 如果验证成功,ActionServlet将ActionForm...

    Struts2教学视频

    Struts2支持Action的动态方法调用,允许Action类根据请求参数动态选择要执行的方法,而无需预先在struts.xml中硬编码。 **八、Action通配符(wildcard)的配置** 通配符配置允许为一组相似的Action定义一个通用配置,...

    Struts2中的参数传递

    ValueStack是Struts2中一个重要的数据结构,用于存储请求范围内的所有数据。它作为OGNL表达式执行上下文的一部分,使得开发者可以通过OGNL表达式方便地访问这些数据。ValueStack的存在使得Struts2能够轻松地处理复杂...

Global site tag (gtag.js) - Google Analytics