`
victorwmh
  • 浏览: 213704 次
  • 性别: Icon_minigender_1
  • 来自: 宇宙
社区版块
存档分类
最新评论

Struts2 Action获取请求参数值的三种方法

    博客分类:
  • ssh
 
阅读更多

 

public class GetRequestParameterAction extends ActionSupport {

	private String bookName;
	private String bookPrice;
	
	public String getBookName() {
		return bookName;
	}

	public void setBookName(String bookName) {
		this.bookName = bookName;
	}

	public String getBookPrice() {
		return bookPrice;
	}

	public void setBookPrice(String bookPrice) {
		this.bookPrice = bookPrice;
	}
	
	
	public String  execute() throws Exception{
		
		
		//方式一: 将参数作为Action的类属性,让OGNL自动填充
		 
		System.out.println("方法一,把参数作为Action的类属性,让OGNL自动填充:");
		System.out.println("bookName: "+this.bookName);
		System.out.println("bookPrice: " +this.bookPrice);
		
		
		//方法二:在Action中使用ActionContext得到parameterMap获取参数:
		ActionContext context=ActionContext.getContext();
		Map  parameterMap=context.getParameters();
		
		String bookName2[]=(String[])parameterMap.get("bookName");
		String bookPrice2[]=(String[])parameterMap.get("bookPrice");
		
		System.out.println("方法二,在Action中使用ActionContext得到parameterMap获取参数:");
		System.out.println("bookName: " +bookName2[0]);
		System.out.println("bookPrice: " +bookPrice2[0]);
		
		
		//方法三:在Action中取得HttpServletRequest对象,使用request.getParameter获取参数
		HttpServletRequest request = (HttpServletRequest)context.get(ServletActionContext.HTTP_REQUEST); 
		 
		String bookName=request.getParameter("bookName");
		String bookPrice=request.getParameter("bookPrice");
		
		System.out.println("方法三,在Action中取得HttpServletRequest对象,使用request.getParameter获取参数:");
		System.out.println("bookName: " +bookName);
		System.out.println("bookPrice: " +bookPrice);
		return SUCCESS;
		
	}

}
 

 

  • 方法一:当把参数作为Action的类属性,且提供属性的getter/setter方法时,xwork的OGNL会自动把request参数的值设置到类属性中,此时访问请求参数只需要访问类属性即可。
  • 方法二:可以通过ActionContext对象Map  parameterMap=context.getParameters();方法,得到请求参数Map,然后通过parameterMap来获取请求参数。需要注意的是:当通过parameterMap的键取得参数值时,取得是一个数组对象,即同名参数的值的集合。
  • 方法三:通过ActionContext取得HttpServletRequest对象,然后使用request.getParameter("参数名")得到参数值。
分享到:
评论

相关推荐

    struts2中Action获取参数的3种方式代码

    本文将详细介绍Struts2中Action获取参数的三种主要方式,并通过实际代码示例来阐述每种方法的使用。 1. **通过getter和setter方法获取参数** 这是最常见的方式,Struts2会自动将请求参数与Action类的属性进行匹配。...

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

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

    struts2 action跳转action传参数

    - `param1`和`param2`需要在action1中定义对应的getter和setter方法,以便能够获取到这些参数值。 - 如果只需要传递一个参数,那么在action1中只需定义该参数的getter方法,在action2中则需同时定义getter和setter...

    struts2中action接收参数的方式

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

    Struts2--为Action的属性注入值

    为Action的属性注入值是Struts2的一个关键特性,使得我们可以方便地从请求参数中获取数据并绑定到Action实例上,以便后续的业务处理。 这个特性主要依赖于Struts2的OGNL(Object-Graph Navigation Language)表达式...

    struts2 向结果传参数

    另一种方法是利用ActionContext来传递参数,ActionContext在Action执行的上下文中存储了请求和 session 的数据。你可以在Action中将参数放入ActionContext,然后在结果页面中通过HttpServletRequest对象获取: ```...

    Struts2获取参数的三种方法总结

    Struts2作为一款流行的Java Web框架,其在处理用户请求时提供了多种获取参数的方法,以实现与视图层的解耦合,便于测试和管理。本文将详细解析Struts2获取参数的三种主要方式:属性驱动、模型驱动以及对象驱动。 1....

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

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

    Struts2 ——4、struts2从请求取值的三种方式

    开发者可以直接通过ActionContext获取请求参数。例如,可以在Action类的方法中获取名为"name"的参数: ```java public class MyAction extends ActionSupport { public String execute() { ActionContext ...

    struts2实验一:动态方法调用+请求参数的获取+简单的表单数据验证

    此外,我们还可以在Action类中使用`params`拦截器或`ActionContext`来手动获取请求参数。 **简单的表单数据验证** Struts2提供了一套强大的验证框架,可以帮助开发者实现表单数据的验证。验证可以通过注解、XML...

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

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

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

    Struts2框架提供了一个名为ActionContext的类,该类中提供了一些方法来获取请求参数,例如getParameters()方法可以获取请求参数。 3. 使用原生Servlet的API接收请求参数 Struts2框架提供了一个名为...

    struts2 接收参数

    Struts2会自动将请求参数的值注入到这些属性中。 2. **使用`@Params`注解**:如果参数名与Action属性不匹配,或者需要对参数进行类型转换,可以使用`@Params`注解来指定映射关系和转换规则。 3. **ModelDriven模式...

    struts2中action如何获取jsp页面参数1.rar

    4. **使用ActionContext**:虽然不推荐,但你也可以通过`ActionContext`来获取请求参数。在Action的方法中,你可以这样做: ```java public String execute() { Map, Object> parameters = ActionContext....

    struts2取到页面的值

    在Struts2框架中,获取页面表单提交的值是一个常见的需求,这涉及到Struts2如何解析请求参数、如何在Action类中访问这些参数以及如何处理复杂的对象模型。以下将详细解析Struits2中获取页面值的方法,包括基本类型...

    JavaEE intellij Idea 做的Action三种接收参数的方式Struts2入门

    本教程将介绍如何使用IntelliJ IDEA和Struts2框架实现Action类接收参数的三种常见方式,这对于JavaWeb开发初学者来说是极其重要的基础知识。 首先,我们需要了解Struts2框架。Struts2是一个基于MVC(Model-View-...

    struts2参数配置

    - Struts2会自动根据`Action.LOCALE_KEY`获取当前用户的Locale,并应用于国际化消息的显示。 #### 五、Action Mapping - **ActionMapping**:定义了Action的映射关系,包括Action的名称、方法等信息。 - 默认使用`...

    Action获取请求参数的三种方式

    总的来说,Action获取请求参数的三种方式各有优劣,开发者可以根据实际情况灵活选择,以实现最佳的代码设计和业务逻辑处理。了解并熟练掌握这些技巧,对于提升Java Web开发效率和代码质量具有重要意义。

    Struts2接收参数

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

Global site tag (gtag.js) - Google Analytics