struts2_2

来源:互联网 发布:php cli模式 编辑:程序博客网 时间:2024/06/10 07:13

04-struts2参数获得方式1-action生命周期&线程安全&MVC_

获得请求参数:属性驱动和线程安全

 

每次请求都会创建action对象,线程安全可以使用成员变量,可以使用成员变量接收参数

 

package cn.itheima.c_param;

 

import java.util.Date;

 

import com.opensymphony.xwork2.ActionSupport;

 

//struts2如何获得参数

//每次请求Action时都会创建新的Action实例对象,线程安全

public class Demo8Action extends ActionSupport  {

public Demo8Action() {

super();

System.out.println("demo8Action被创建了!");

}

//准备与参数键名称相同的属性

private String name;

//自动类型转换 只能转换8大基本数据类型以及对应包装类

private Integer age;

//支持特定类型字符串转换为Date ,例如yyyy-MM-dd

private Date   birthday;

public String execute() throws Exception {

System.out.println("name参数值:"+name+",age参数值:"+age+",生日:"+birthday);

return SUCCESS;

}

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;

}

}

 

 

05-struts2参数获得方式-对象驱动&模型驱动_

 

创建实体类

 

package cn.itheima.domain;

 

import java.util.Date;

 

public class User {

private String name;

private Integer age;

private Date birthday;

public String getName() {

return name;

}

public void setName(Stringname) {

this.name =name;

}

public Integer getAge() {

return age;

}

public void setAge(Integerage) {

this.age =age;

}

public Date getBirthday() {

return birthday;

}

public void setBirthday(Datebirthday) {

this.birthday =birthday;

}

@Override

public String toString() {

return "User [name=" +name + ", age=" + age + ", birthday=" + birthday + "]";

}

}

 

 

<form action="${pageContext.request.contextPath}/Demo9Action">

用户名:<input type="text" name="user.name" /><br>

年龄:<input type="text" name="user.age" /><br>

生日:<input type="text" name="user.birthday" /><br>

<input type="submit" value="提交" />

</form>

 

package cn.itheima.c_param;

 

import com.opensymphony.xwork2.ActionSupport;

 

import cn.itheima.domain.User;

 

//struts2如何获得参数-方式2

public class Demo9Action extends ActionSupport  {

//准备user对象

private User user;

 

public String execute() throws Exception {

System.out.println(user);

return SUCCESS;

}

 

public User getUser() {

return user;

}

 

public void setUser(User user) {

this.user = user;

}

 

}

 

 

模型驱动

 

<form action="${pageContext.request.contextPath}/Demo10Action">

用户名:<input type="text" name="name" /><br>

年龄:<input type="text" name="age" /><br>

生日:<input type="text" name="birthday" /><br>

<input type="submit" value="提交" />

</form>

 

package cn.itheima.c_param;

 

import com.opensymphony.xwork2.ActionSupport;

import com.opensymphony.xwork2.ModelDriven;

import com.sun.media.sound.ModelChannelMixer;

 

import cn.itheima.domain.User;

 

//struts2如何获得参数-方式2

public class Demo10Action extends ActionSupport implements ModelDriven<User> {

//准备user 成员变量

private User user =new User();

 

public String execute() throws Exception {

System.out.println(user);

return SUCCESS;

}

 

@Override

public User getModel() {

return user;

}

 

 

}

 

 

06-struts2参数获得方式-集合类型封装_

<form action="${pageContext.request.contextPath}/Demo11Action" method="post" >

list:<input type="text" name="list" /><br>

list:<input type="text" name="list[3]" /><br>

map:<input type="text" name="map['haha']" /><br>

<input type="submit" value="提交" />

</form>

 

package cn.itheima.c_param;

 

import java.util.List;

import java.util.Map;

 

import com.opensymphony.xwork2.ActionSupport;

 

//struts2 封装集合类型参数

public class Demo11Action extends ActionSupport  {

//list

private List<String> list;

//Map

private Map<String,String> map;

public String execute() throws Exception {

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

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

return SUCCESS;

}

 

public List<String> getList() {

return list;

}

 

public void setList(List<String> list) {

this.list = list;

}

 

public Map<String, String> getMap() {

return map;

}

 

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

this.map = map;

}

 

}

 

 

原创粉丝点击