转载

Struts2 Action类的创建以及参数传递以及接收

一、Struts中Action得创建方式

1,直接创建一个简单的Action类

Struts2 Action类的创建以及参数传递以及接收

添加Struts.xml,配置转发方法返回转发的页面。

Struts2 Action类的创建以及参数传递以及接收

2,实现一个Action类

Struts2 Action类的创建以及参数传递以及接收

Strust.xml配置对应的Url转发映射。

Struts2 Action类的创建以及参数传递以及接收

3,继承一个ActionSupport类

Struts2 Action类的创建以及参数传递以及接收

struts.xml配置文件的内容如下:

Struts2 Action类的创建以及参数传递以及接收

二、Struts中Action获取Servlet中的API,并通过servlet的域对象进行存储值操作

1,通过ActionContext上下文对象来获取request域,session域,application域

Struts2 Action类的创建以及参数传递以及接收

struts.xml配置文件配置内容:

Struts2 Action类的创建以及参数传递以及接收

转发页面内容:

Struts2 Action类的创建以及参数传递以及接收

Action获取Servlet中的API,并通过servlet的域对象进行存储值操作

2,通过servletActionContext上下文对象来获取request域,session域,application域

Struts2 Action类的创建以及参数传递以及接收

strust.xml配置文件

Struts2 Action类的创建以及参数传递以及接收

转发页面

Struts2 Action类的创建以及参数传递以及接收

3,Action类通过实现ServletRequestAware, ServletContextAware上下文对象来获取request域,session域,application域

Struts2 Action类的创建以及参数传递以及接收

Struts.xml 配置文件如下:

Struts2 Action类的创建以及参数传递以及接收

jsp转发配置页面

Struts2 Action类的创建以及参数传递以及接收

三、Struts中Action中获取页面传递过来的参数的三种方式

1,通过Action类的属性来获取相应的参数值

package com.java.test.param.Action;

import java.util.Date;

public class ParamAction {

private String name;

private Integer age;

private Date birthday;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public Date getBirthday() {

return birthday;

}

public void setBirthday(Date birthday) {

this.birthday = birthday;

}

public String test() {

System.out.println("name:"+name);

System.out.println("age:"+age);

System.out.println("birthday:"+birthday);

return "test";

}

}

struts.xml配置页面

Struts2 Action类的创建以及参数传递以及接收

form.jsp

Struts2 Action类的创建以及参数传递以及接收

welcome.jsp

Struts2 Action类的创建以及参数传递以及接收

2,通过Action类的对象属性来获取相应的参数值

#user.java

package com.java.test.param.Action;

import java.util.Date;

public class User {

private String name;

private Integer age;

private Date birthday;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public Date getBirthday() {

return birthday;

}

public void setBirthday(Date birthday) {

this.birthday = birthday;

}

}

#Param1Action .java

package com.java.test.param.Action;

public class Param1Action {

private User user;

public User getUser() {

return user;

}

public void setUser(User user) {

this.user = user;

}

public String test() {

return "test";

}

}

strust.xml配置文件

Struts2 Action类的创建以及参数传递以及接收

form1.jsp

Struts2 Action类的创建以及参数传递以及接收

welcome1.jsp

Struts2 Action类的创建以及参数传递以及接收

3,通过实现ModelDriven类的来获取相应的参数值

#Param3.java

package com.java.test.param.Action;

import com.opensymphony.xwork2.ModelDriven;

public class Param3 implements ModelDriven{

private User user = new User();

@Override

public User getModel() {

// TODO Auto-generated method stub return user;

}

public String test() {

return "test";

}

}

struts.xml

Struts2 Action类的创建以及参数传递以及接收

form2.jsp

Struts2 Action类的创建以及参数传递以及接收

welcome2.jsp

Struts2 Action类的创建以及参数传递以及接收

四、Struts中如何传递list,map参数

#Param4Action .java

package com.java.test.param.Action;

import java.util.List;

import java.util.Map;

public class Param4Action {

private List list;

private Map<String,String> map;

public List getList() {

return list;

}

public void setList(List list) {

this.list = list;

}

public Map<String, String> getMap() {

return map;

}

public void setMap(Map<String, String> map) {

this.map = map;

}

public String test() {

return "test";

}

}

Struts2 Action类的创建以及参数传递以及接收

form3.jsp

Struts2 Action类的创建以及参数传递以及接收

welcome3.jsp

Struts2 Action类的创建以及参数传递以及接收

总结:1,创建Action有三种方式,每一种都有对应的好处,建议使用第二种或者第三种,这种方式能够继承或者实现父类,从而可以复用父类的一些东西。

2,获取servlet Api,建议使用第二种方式,和servlet的方式类似。但struts中不建议这样来获取参数或设置对象域。

3, Action类中接收参数的三种方式,第一种的话,很零散,操作数据库还得进行封装类,第二种方式,可以直接封装好类,这种方式可以,第三种,这种方式也可以,就是               每次只能实现一个bean类,从而只能获取一个bean。多个bean的话不太好解决。

最后一个就是传递list参数和map参数,list就是页面上得有多个对应的list,map必须指定对应的key,不然不知道是哪一个key需要存值。

原文  http://www.cnblogs.com/Hackerman/p/11225112.html
正文到此结束
Loading...