采用基本类型接收请求参数(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方法提交包含中文字符的数据时,可能会遇到编码问题,因为HTTP请求默认使用的是ASCII编码,而中文字符需要UTF-...
7. **Struts2的类型转换**:Struts2提供了内置的类型转换器,可以自动将请求参数转换为Java对象。如果需要自定义转换逻辑,可以实现`Converter`接口。 在`Struts2_0900_ModelDrivenParamInput`这个文件中,可能包含...
当请求被处理时,Struts2会自动将请求参数值绑定到Action类的相应属性上,这一过程称为“自动类型转换”。 例如,如果你有一个名为`saveUser`的方法,接收一个`User`对象作为参数,`User`类中有`name`和`email`字段...
Struts2框架提供了多种灵活的方式来接收和处理HTTP请求参数,开发者可以根据具体的应用场景和需求选择最适合的方法。无论是直接使用Action的属性,还是通过Domain Model或DTO进行参数接收,都旨在简化开发流程,提高...
这个插件提供了JSON结果类型,使得Struts2可以返回JSON格式的数据,便于Ajax请求接收和解析。 - **配置Struts2 XML**:在`struts.xml`中定义一个包`ajax`,并扩展`json-default`,设置`result`类型为`json`,这样...
在Struts2框架中,接收请求参数主要通过Action类和ValueStack来实现。 首先,了解Struts2的Action类。Action类是用户业务逻辑的载体,每个Action对应一个特定的HTTP请求。当用户提交表单或者点击链接时,Struts2会...
Struts2之Action接收请求参数和拦截器详解 Struts2框架中的Action接收请求参数和拦截器详解是非常重要的知识点,本文将详细介绍Struts2之Action接收请求参数和拦截器详解的相关知识点。 一、Struts2框架中的Action...
这篇博客文章可能详细探讨了如何在Struts2中使用ModelDriven接口来接收和处理请求参数。 ModelDriven接口允许开发者将一个对象绑定到Action上下文中,这个对象可以被用来存储和传递业务逻辑层的数据。当Action类...
这告诉Struts2框架当收到名为`struts2Action`的请求时,使用`Struts2Action`类,并返回JSON格式的结果。如果需要在Action执行后返回一个页面,可以将`result`元素的类型改为`dispatcher`。 总结来说,通过这种方式...
struts2下通过jquery的ajax从后台传json对象并展示在web页面上的一个小例子,所需的jar包请自己下载否则无法运行,所需的包包括struts的必须包,json的支持包和struts对json的支持包
在Struts2中,我们可以使用Action类来接收和处理请求参数。Action类是业务逻辑的载体,它通常会有一个或多个方法(称为执行方法)与特定的URL路径关联。当用户发送一个HTTP请求到服务器,Struts2拦截器会解析请求,...
在这个例子中,Struts2会解析请求参数,创建一个User对象列表,并将每个用户的名字设置进去。 总的来说,Struts2提供了一套灵活的参数接收机制,包括但不限于直接通过setter方法、使用注解和处理复杂类型。这种设计...
在`struts.xml`或`struts.properties`中,可以定义一个Action类接收所有以特定前缀开始的请求,然后根据请求参数来决定执行哪个方法。 ```xml <package name="default" namespace="/" extends="struts-default"> ...
Struts2框架中的Action是核心组件之一,它负责接收HTTP请求并进行业务逻辑处理,然后将控制转向相应的视图进行展示。在Struts2中,Action的配置和使用方式有多种,下面将详细介绍Struts2 Action参数的详细说明。 ...
本示例将详细讲解如何在Android应用中通过HTTP请求从Struts2 Action获取JSON格式的数据,并进行解析和处理。 首先,我们需要了解JSON(JavaScript Object Notation)的基本结构。JSON是一种数据格式,它基于...
3. Struts自动将请求参数值绑定到ActionForm的属性上,这得益于JavaBean规范中的getter和setter方法。 4. ActionServlet调用ActionForm的validate()方法进行表单验证。 5. 如果验证成功,ActionServlet将ActionForm...
Struts2支持Action的动态方法调用,允许Action类根据请求参数动态选择要执行的方法,而无需预先在struts.xml中硬编码。 **八、Action通配符(wildcard)的配置** 通配符配置允许为一组相似的Action定义一个通用配置,...
ValueStack是Struts2中一个重要的数据结构,用于存储请求范围内的所有数据。它作为OGNL表达式执行上下文的一部分,使得开发者可以通过OGNL表达式方便地访问这些数据。ValueStack的存在使得Struts2能够轻松地处理复杂...