无法描述,就直接看我的代码和输出结果吧!!
在List进行操作时,发现如下问题:
页面代码:
<body>
Struts2标签:<s:property value="list.size"/><br/>
Struts2标签:<s:property value="list.size()"/><br/>
<s:iterator value="list">
<s:property/><br/>
</s:iterator>
</body>
方法一:
public class ListAction {
private List<String> list;
public String execute(){
list = new ArrayList<String>();
list.add("Hello");
list.add("World");
return "OK";
}
public List<String> getList() {
return list;
}
}
输出结果:
Struts2标签:2
Struts2标签:2
Hello
World
方法二:
Action的代码:
public class ListAction {
public String execute(){
List<String> list;
list = new ArrayList<String>();
list.add("Hello");
list.add("World");
ActionContext.getContext().put("list", list);
return "OK";
}
}
输出结果:
Struts2标签:
Struts2标签:
Hello
World
奇怪的事情发生了。只输出了一半!!
方法三:
<body>
Struts2标签:<s:property value="#request.list.size"/><br/>
Struts2标签:<s:property value="#request.list.size()"/><br/>
<s:iterator value="#request.list">
<s:property/><br/>
</s:iterator>
</body>
public class ListAction {
public String execute(){
List<String> list;
list = new ArrayList<String>();
list.add("Hello");
list.add("World");
ActionContext.getContext().put("list", list);
return "OK";
}
}
输出结果:
Struts2标签:2
Struts2标签:2
Hello
World
不知道为什么会出现这种情况,还望高人指点一下!!
分享到:
相关推荐
在这个场景下,我们关注的是如何在Struts2中迭代Map和List对象。这两种数据结构在Web开发中经常被用到,特别是在展示表单数据或动态渲染页面元素时。 首先,让我们深入了解`struts2-taglib`,这是一个包含Struts2...
注意,`result1`是Action类中的属性,它需要有对应的getter和setter方法,这样在返回JSON时,Struts2才会将这个属性包含进去。 2. **JSP页面**: JSP页面中使用Ajax发送POST请求到服务器,获取JSON数据。`...
Action是业务逻辑的入口点,Result表示一个操作完成后转向的页面或结果。拦截器是Struts2的一大特色,可以实现如日志、权限检查、事务控制等功能。 总的来说,Struts2是一个功能强大且成熟的MVC框架,其jar包的引入...
Struts2是一个非常流行的Java MVC框架,用于构建企业级Web应用程序。然而,它在历史上曾出现过多个安全漏洞,其中最著名的就是“Struts2漏洞”。这个标题和描述提到的"struts2-scan"是一种工具,专门用来检测Struts2...
Struts2 是一个基于 Java Web 的框架,广泛应用于 Web 应用程序的开发。下面将从 Struts2 项目开发的角度,详细介绍 Struts2 框架的应用、开发流程、技术架构、实践经验等方面的知识点。 项目需求分析 在 Struts2 ...
Struts2 是一个基于 Java 的 Web 应用程序框架,由 Apache 软件基金会维护。最近,Struts2 发生了两个严重的漏洞,分别是 S2-016 和 S2-017,这两个漏洞可能会导致攻击者执行恶意代码,从而危害到网站的安全。 S2-...
Struts2是一个流行的Java web框架,它主要用于构建MVC(模型-视图-控制器)架构的应用程序。在Struts2中实现数据库操作是常见的需求,包括查询、添加、修改和删除数据。以下将详细讲解如何在Struts2中进行这些基本...
- **拦截器**:拦截器是Struts2的一个重要特性,可以在请求到达Action之前或之后执行特定的操作,如验证用户登录状态、日志记录等。 #### 四、Struts2进阶技巧 - **ModelDriven模式**:该模式允许Action实例共享同...
- **Struts2**: 每个Action实例都只服务于一次请求,之后会被销毁。这样可以确保每个Action实例都是干净的状态,不会出现意外的数据污染。同时,这种方式也降低了内存消耗。 #### Servlet依赖 - **Struts1**: ...
"Struts2漏洞检查工具Struts2.2019.V2.3"是一个专门针对这些漏洞进行检测的工具,旨在帮助开发者和网络安全专业人员识别并修复Struts2框架中的安全问题。 Struts2的安全漏洞主要包括以下几类: 1. OGNL(Object-...
Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试...
下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库...
在Struts2的动作类(Action)中,你需要创建一个List类型的属性来接收这些文件。例如: ```java private List<File> files; private List<String> fileNames; private List<String> fileTypes; // getters and ...
拦截器是Struts2的一个强大特性,可以在Action执行前后进行额外的操作,比如日志记录、权限验证、数据校验等。通过在`struts.xml`中配置拦截器栈,可以定制化Action的执行流程。 **6. OGNL(Object-Graph ...
`checkboxlist`在Struts2中通常与一个Action类中的属性关联,用于收集用户的多选数据。在HTML中,复选框默认是按行显示的,但为了优化用户界面,我们可能希望将它们分成多列显示,这就涉及到了换行。 `...
- **token**: Struts2的Token插件用于防止重复提交,通过在表单中隐藏一个唯一的令牌,每次请求都会检查令牌的唯一性和时效性,从而避免了并发操作导致的问题。 6. **tablib**: Tablib可能指的是Struts2的标签库,...
Struts2是一个强大的Java web开发框架,用于构建可维护、可扩展且结构良好的应用程序。它在MVC(Model-View-Controller)设计模式的基础上提供了一种实现方式,使得开发者能够更方便地处理用户请求,控制业务逻辑,...
struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全...
Struts2Demo2是一个基于Apache Struts2框架的示例应用,它展示了如何在实际开发中使用Struts2来构建动态Web项目。Struts2是一个强大的MVC(Model-View-Controller)框架,用于简化Java Web应用程序的开发过程。在这...
struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...