package com.web;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.domain.Person;
public class Login extends BasicAction {
private String username;
private List<Person> list;
private Set<Person> set;
private Map<String, Person> map;
public Map<String, Person> getMap() {
return map;
}
public void setMap(Map<String, Person> map) {
this.map = map;
}
public List<Person> getList() {
return list;
}
public void setList(List<Person> list) {
this.list = list;
}
public Set<Person> getSet() {
return set;
}
public void setSet(Set<Person> set) {
this.set = set;
}
public String test() {
// 声明List对象
List<Person> li = new ArrayList<Person>();
// 声明Person对象
Person p1 = new Person();
p1.setName("First");
Person p2 = new Person();
p2.setName("Second");
// 将Person对象依次添加到List中
li.add(p1);
li.add(p2);
// 设置List的属性的值为其实例对象
setList(li);
return redine("welcome");
}
public String loginError() {
if (!this.username.equals("dragon")) {
Set<Person> s = new HashSet<Person>();
Person p1 = new Person();
p1.setName("It is the First");
Person p2 = new Person();
p2.setName("It is the Second");
s.add(p1);
s.add(p2);
setSet(s);
return redine("error");
} else {
Map<String, Person> m = new HashMap<String, Person>();
Person ps1 = new Person();
ps1.setId(1);
ps1.setName("Map,First!");
Person ps2 = new Person();
ps2.setName("Map,Second!");
ps2.setId(2);
String p1 = ps1.getId().toString();
String p2 = ps2.getId().toString();
m.put(p1, ps1);
m.put(p2, ps2);
setMap(m);
return redine("welcome");
}
}
private static final long serialVersionUID = 1L;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
struts2集合示例
需积分: 0 81 浏览量
更新于2008-09-30
收藏 3.68MB RAR 举报
Struts2是一个强大的MVC(模型-视图-控制器)框架,它在Java Web开发中广泛应用,极大地简化了处理用户请求、业务逻辑和视图展示的过程。本示例重点展示了Struts2框架如何与各种集合类型,如Set、List和Map进行集成和操作。
在Web应用程序中,集合数据结构经常被用来存储和管理动态的数据。Set集合不包含重复元素,按照插入顺序或特定规则排序,例如HashSet和TreeSet。List集合允许重复元素,通常按照插入顺序访问,如ArrayList和LinkedList。而Map则存储键值对,提供键到值的映射,如HashMap、TreeMap和LinkedHashMap。
Struts2框架允许开发者通过Action类来处理HTTP请求,并在Action中使用集合来接收和处理来自表单的数据。以下是对Struts2集合使用的详细说明:
1. **配置Action类**:你需要创建一个继承自`org.struts2.dispatcher.ng.ExecuteOperations`和实现了`com.opensymphony.xwork2.ActionSupport`的Action类。在类中声明集合变量,如`private Set<String> set;`、`private List<String> list;`和`private Map<String, String> map;`。
2. ** getter和setter方法**:为这些集合变量添加getter和setter方法,以便Struts2能够访问和填充它们。例如,`public Set<String> getSet() { return set; }` 和 `public void setSet(Set<String> set) { this.set = set; }`
3. **Struts2拦截器**:Struts2的拦截器机制会自动将HTTP请求参数映射到Action类的属性。如果表单提交的数据是数组或集合,Struts2的Parameters拦截器会自动处理并将其转化为对应的集合类型。
4. **JSP页面**:在JSP页面中,你可以使用Struts2的标签库来遍历和显示集合中的元素。例如,使用`s:iterator`标签来遍历Set和List:
```
<s:iterator value="set">
<p>Element: <s:property /></p>
</s:iterator>
<s:iterator value="list">
<p>Element: <s:property /></p>
</s:iterator>
```
5. **Map的使用**:对于Map,你可以通过键来访问和显示值:
```
<s:iterator value="map">
Key: <s:property key="key" />, Value: <s:property value="value" />
</s:iterator>
```
6. **结果转发**:在处理完集合数据后,Action类可以通过返回一个ActionSupport的常量(如SUCCESS、ERROR等)来决定页面的跳转。Struts2会根据返回的结果配置文件(struts.xml或struts.properties)来决定下一步的操作。
7. **国际化与本地化**:Struts2支持国际化,可以将集合数据与不同语言的资源文件结合,以适应多语言环境。
在实际开发中,Struts2集合的使用非常广泛,比如在处理分页数据、多选下拉框、动态表格等场景。熟练掌握Struts2与集合的结合,能提高代码的可读性和维护性,同时也使开发更加高效。通过这个"struts2集合示例",你可以深入理解Struts2如何处理和展示集合数据,为你的Java Web项目打下坚实的基础。
allray
- 粉丝: 1
- 资源: 3
最新资源
- Unity In-game Debug Console
- (3292010)Java图书管理系统(源码)
- 新建 Microsoft Word 文档
- (176102016)MATLAB代码:考虑灵活性供需不确定性的储能参与电网调峰优化配置 关键词:储能优化配置 电网调峰 风电场景生成 灵活性供需不
- SINAMICS S120驱动第三方直线永磁同步电机系列视频-配置和优化.mp4
- (175601006)51单片机交通信号灯系统设计
- Starter SINAMICS S120驱动第三方直线永磁同步电机系列视频-调试演示.mp4
- (174755032)抽烟、烟雾检测voc数据集
- 基于滑膜控制的差动制动防侧翻稳定性控制,上层通过滑膜控制产生期望的横摆力矩,下层根据对应的paper实现对应的制动力矩分配,实现车辆的防侧翻稳定性控制,通过通过carsim和simulink联合仿真
- 伺服系统基于陷波滤波器双惯量伺服系统机械谐振抑制matlab Simulink仿真 1.模型简介 模型为基于陷波滤波器的双惯量伺服系统机械谐振抑制仿真,采用Matlab R2018a Simul