Struts2中获取请求参数

Action在Strucs中负责请求参数的处理,那么他是如何实现的呢?这篇博文就将给大家做个简单的介绍。在struts中,获取请求参数主要有一下两种方式:

1.属性驱动方式

方式一:使用属性驱动,直接将Action作为Model;但是这样做不好的一点就是无法将参数传到Service层进行进一步处理。

package cn.tgb.action;

//方式一:使用属性驱动,将Action作为Model
public class Action01 {

	private String name;
	private String passwrod;

	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return passwrod;
	}
	public void setPassword(String password) {
		this.passwrod = password;
	}

	public String login(){

		System.out.println(name+""+passwrod);
		return null;
	}	

}

方式二:在Action中添加对Model的引用。这样做的优点是请求参数直接封装到了javaBean中,不需要在通过action复制,缺点是在页面上还需要些ognl表达式。

package cn.tgb.action;

import cn.tgb.model.User;
//方式二:使用属性驱动,在Action添加Model的引用
public class Action02 {
	private User user;

	public User getUser() {
		return user;
	}
	public void setUser(User user) {
		this.user = user;
	}

	public String login(){
		System.out.println(user.getName() +" "+user.getPassword());
		return null;
	}

}

2.模型驱动方式

使用模型驱动需要使Action实现ModelDriven接口,这种方法需要在Action中实例化model对象,然后重写ModelDriven接口中的getModel()方法,返回这个对象即可。

package cn.tgb.action;

import cn.tgb.model.User;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
//方式三://获取请求参数--使用模型驱动
public class Action03 extends ActionSupport implements ModelDriven<User>{

	private User user = new User();

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

	public String login(){

		System.out.println(user.getName() + "  " + user.getPassword());

		return null;
	}

}
时间: 2024-11-07 09:08:28

Struts2中获取请求参数的相关文章

在拦截器中获取请求参数,[Ljava.lang.String; cannot be cast to java.lang.String报错

Map<String,Object> parametersmap=invocation.getInvocationContext().getParameters();//获取请求参数                Set<String> parametersset=parametersmap.keySet();                for(String key:parametersset){ System.out.println(key+":"+par

4、处理方法中获取请求参数、请求头、Cookie及原生的servlet API等

1.请求参数和请求头 使用@RequestParam绑定请求参数,在处理方法的入参处使用该注解可以把请求参数传递给请求方法 —— value :参数名 —— required : 是否必须,默认为true,表示请求参数中必须包含对应的参数,如果不存在,则抛出异常     例如: @RequestMapping(value="/param") public String testParam(@RequestParam(value="name", required=tr

struts2 action接收请求参数和类型转换

1,action接收请求参数 在struts2中action是什么?(struts2是一个mvc框架)         V:jsp        M:action         C:action  StrutsPrepareAndExecuteFilter 在struts2中获取请求参数: a.属性驱动            1.直接将action做一个model,就可以得到请求参数.                问题1:action封装请求参数,会不会存在线程安全问题?          

Struts2 -- 获取请求参数

1.直接将action做一个model,就可以得到请求参数. 缺点:需要单独定义javaBean,将action中属性copy到javaBean中.                     优点:简单.                                 这种方式 ,底层是通过反射来实现的. //获取请求参数 属性驱动 第一种,直接将action做为model public class DemoAction extends ActionSupport { private String

web过滤器中获取请求的参数(content-type:multipart/form-data)

1.前言: 1.1 在使用springMVC中,需要在过滤器中获取请求中的参数token,根据token判断请求是否合法: 1.2 通过requst.getParameter(key)方法获得参数值; 这种方法有缺陷:它只能获取  POST 提交方式中的Content-Type: application/x-www-form-urlencoded; HttpServletRequest request= (HttpServletRequest) req; String param = reque

Struts2中获取HttpServletRequest,HttpSession等的几种方式

转自:http://www.kaifajie.cn/struts/8944.html package com.log; import java.io.IOException; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import o

Struts2中获取servlet API的几种方式

struts2是一个全新的MVC框架,如今被广大的企业和开发者所使用,它的功能非常强大.这给我们在使用servlet 纯java代码写项目的时候带来了福音.但是一般来说,我们的项目不到一定规模并不需要框架的.通常功能模块和系统架构复杂的时候会少不了框架的,如果没有框架,我们写的项目和代码会复杂很多,而且扩展性也会大大降低,代码审查效率也会降低.如下代码供大家参考,主要是说明在使用struts2的时候如何获取servlet API,大家可以试着对比一下不用struts2的时候的所写的servelt

Struts2中Action接收参数的方法

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt112 Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:     a.定义:在Action类中定义属性,创建get和set方法:     b.接收:通过属性接收参数,如:userName:     c.发送:使用属性名传递参数,如:user1!add?userName=Magci: 2.使用DomainModel接收参数:   

php 获取请求参数

$value = $_POST["value"];//取得post中的 $value=$_REQUEST["value"];//取得get或者post中的参数(哪个有就取得哪个) $value=$_GET["value"];//取得get中的参数 php 获取请求参数,布布扣,bubuko.com