struts2 请求参数 :封装成集合数据

1.封装到List
a. 编写测试页面login4.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>演示参数封装到list</h1>
	<form action="login4.action" method="post">
		用户名1:<input type="text" name="users[0].username"><br>
		密码1:<input type="password" name="users[0].password"><br>
		用户名2:<input type="text" name="users[1].username"><br>
		密码2:<input type="password" name="users[1].password"><br>
		用户名3:<input type="text" name="users[2].username"><br>
		密码3:<input type="password" name="users[2].password"><br>
		<input type="submit" value="登录">
	</form>
</body>
</html>

编写Login4Action类:

public class Login4Action extends ActionSupport{

	private static final long serialVersionUID = 1L;
	
	private List<User> users;//接收多个User对象
	
	@Override
	public String execute() throws Exception {
		for (User user : users) {
			System.out.println(user);
		}
		return NONE;
	}

	public void setUsers(List<User> users) {
		this.users = users;
	}

	public List<User> getUsers() {
		return users;
	}
}

在struts.xml中配置Login4Action类:

<action name="login4" class="cn.icbc.action.Login4Action"></action>

测试结果如下:
在这里插入图片描述

2…封装到Map
注:查看jsp页面传入参数的name属性值得写法。

  • 用户名1:<input type="text" name="users['one'].username"><br>

新建login5.jsp页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>演示参数封装到Map</h1>
	<form action="login5.action" method="post">
		用户名1:<input type="text" name="users['one'].username"><br>
		密码1:<input type="password" name="users['one'].password"><br>
		用户名2:<input type="text" name="users['two'].username"><br>
		密码2:<input type="password" name="users['two'].password"><br>
		用户名3:<input type="text" name="users['three'].username"><br>
		密码3:<input type="password" name="users['three'].password"><br>
		<input type="submit" value="登录">
	</form>
</body>
</html>

新建Login5Action类:

package com.icbc.struts.study2;

import java.util.Map;
import java.util.Set;

import com.opensymphony.xwork2.ActionSupport;

public class Login5Action extends ActionSupport {
private static final long serialVersionUID = 1L;
	
	private Map<String,User> users;
	
	@Override
	public String execute() throws Exception {
		Set<String> keys =  users.keySet();
		for (String key : keys) {
			System.out.println(key + ":" + users.get(key));
		}
		
		return NONE;
	}

	public Map<String, User> getUsers() {
		return users;
	}

	public void setUsers(Map<String, User> users) {
		this.users = users;
	}
}

在struts.xml中配置Login5Action:

<action name="login5" class="cn.icbc.action.Login5Action"></action>

测试结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值