Struts2框架数据封装大全

属性封装 --基本类型和String类型

条件:
                    1 需要有成员属性
                    2 需要有set方法

<h1>基本类型和String类型封装</h1>
				<form action="${pageContext.request.contextPath}/servlet6" method="post">
				用户名:<input type="text" name="username" />
				年龄:<input type="text" name="age" />
				<input type="submit" value="提交" />
			</form>
package com.it.action;

import com.opensymphony.xwork2.ActionSupport;
//属性封装 --基本类型和String类型
public class ActionServlet6 extends ActionSupport{
	private String name;
	private int age;
	
	public void setUsername(String name) {
		this.name = name;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String execute() throws Exception {
		System.out.println(name+":"+age);
		return null;
	}
}

属性封装 --对象类型

条件: 
                    1 需要有成员对象
                    2 需要set/get方法
                    3 页面需要用ognl表达式 对象.属性

<h1>对象类型封装</h1>
<form action="${pageContext.request.contextPath}/servlet7" method="post">
用户名:<input type="text" name="user.username" />
年龄:<input type="text" name="user.age" />
	<input type="submit" value="提交" />
</form>
package com.it.action;

import com.it.bean.User;
import com.opensymphony.xwork2.ActionSupport;
//属性封装 --对象类型
public class ActionServlet7 extends ActionSupport{
	private User user;

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}
	@Override
	public String execute() throws Exception {
		System.out.println(user);
		return null;
	}
}

list集合封装

条件:
                    1 需要一个集合 
                    2 有set/get方法即可
                    3 页面需要有特定的写法
                        
                    list:
                        list[0].属性名

<h1>list类型封装</h1>
<form action="${pageContext.request.contextPath}/servlet8" method="post">
	用户名:<input type="text" name="list[0].username" /><br>
	年龄:<input type="text" name="list[0].age" /><br>
	用户名:<input type="text" name="list[1].username" /><br>
	年龄:<input type="text" name="list[1].age" /><br>
	用户名:<input type="text" name="list[2].username" /><br>
	年龄:<input type="text" name="list[2].age" /><br>
				<input type="submit" value="提交" />
</form>
package com.it.action;

import java.util.List;

import com.it.bean.User;
import com.opensymphony.xwork2.ActionSupport;
//list集合封装
public class ActionServlet8 extends ActionSupport {
	private List<User> list;

	public List<User> getList() {
		return list;
	}

	public void setList(List<User> list) {
		this.list = list;
	}
	@Override
	public String execute() throws Exception {
		for (User user : list) {
			System.out.println(user);
		}
		return null;
	}
	
}

map集合封装

条件:
                    1 需要一个集合 
                    2 有set/get方法即可
                    3 页面需要有特定的写法
                        
                   map: 
                        map[键名].属性名

<h1>map类型封装</h1>
	<form action="${pageContext.request.contextPath}/servlet9" method="post">
	用户名:<input type="text" name="map['aa'].username" /><br>
	年龄:<input type="text" name="map['aa'].age" /><br>
	用户名:<input type="text" name="map['bb'].username" /><br>
	年龄:<input type="text" name="map['bb'].age" /><br>
	用户名:<input type="text" name="map['cc'].username" /><br>
	年龄:<input type="text" name="map['cc'].age" /><br>
	<input type="submit" value="提交" />
</form>
package com.it.action;

import java.util.Map;

import com.it.bean.User;
import com.opensymphony.xwork2.ActionSupport;
//map集合封装
public class ActionServlet9 extends ActionSupport{
	private Map<String,User> map;

	public Map<String, User> getMap() {
		return map;
	}

	public void setMap(Map<String, User> map) {
		this.map = map;
	}
	@Override
	public String execute() throws Exception {
		for (String key : map.keySet()) {
			System.out.println(key+":"+map.get(key));
		}
		return null;
	}
}

模型封装 :

条件:
                1 需要有成员对象 而且还得实例化这个对象

                2 需要实现一个接口 ModelDriven

                3 需要提供一个getModel方法

                4 将对象以getModel进行返回

***** 模型驱动只能向一个实体中封装数据,如果需要向多个实体封装数据优先采用第二种方式。

user类

package com.it.bean;

public class User {
	private String username;
	private int age;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "User [username=" + username + ", age=" + age + "]";
	}
	
}
<h1>模型封装</h1>
<form action="${pageContext.request.contextPath}/servlet6" method="post">
用户名:<input type="text" name="username" />
年龄:<input type="text" name="age" />
<input type="submit" value="提交" />
</form>
package com.it.action;

import com.it.bean.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
//模型封装
public class ActionServlet10 extends ActionSupport implements ModelDriven<User>{
	private User user=new User();
	@Override
	public User getModel() {
		
		return user;
	}
	@Override
	public String execute() throws Exception {
		System.out.println(user);
		return null;
	}
	
}

猜你喜欢

转载自blog.csdn.net/qq_43122641/article/details/89289065