今天做struts2的集合类型转换时出了些无法理解的问题:
想做一个发布新闻的一个页面,然后用另一个页面来显示,输入页面可以显示,显示页面却出了问题,,不显示输入的信息,值栈也是空的。
struts.xml
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="TestList" extends="struts-default">
<action name="Text" class="zq.SubmitAction">
<result name="success">/showlist.jsp</result>
<result name="input">/List.jsp</result>
</action>
</package>
</struts>
输入页面 List.jsp
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<s:head/>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
<table>
<s:form id="newsform" action="Text" theme="simple">
<table>
<tr>
<td>标题</td>
<td>内容</td>
<td>时间</td>
</tr>
<s:iterator value="new int[3]" status="m">
<tr>
<td><s:textfield name="%{'newsList.['+#m.index'].title'}"/></td>
<td><s:textfield name="%{'newsList.['+#m.index'].content'}"/></td>
<td><s:datetimepicker name="%{'newsList.['+#m.index'].riqi'}"></s:datetimepicker></td>
</tr>
</s:iterator>
<tr>
<td colspan="3"><s:submit value="提交"></s:submit></td>
</tr>
</table>
</s:form>
</table>
</body>
</html>
显示页面 showlist.jsp
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!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=GB18030">
<title>Insert title here</title>
</head>
<body>
<table>
<tr>
<td>标题</td>
<td>内容</td>
<td>时间</td>
</tr>
<s:iterator value="newsList" status="m">
<tr>
<td><s:property value="title"/></td>
<td><s:property value="content"/></td>
<td><s:property value="riqi"/></td>
</tr>
</s:iterator>
</table>
<s:debug/>
</body>
</html>
javaBean News.java
package zq;
import java.util.Date;
public class News {
public String title;
public String content;
public Date riqi;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getRiqi() {
return riqi;
}
public void setRiqi(Date riqi) {
this.riqi = riqi;
}
}
Action SubmitAction.java
package zq;
import java.util.*;
import com.opensymphony.xwork2.ActionSupport;
public class SubmitAction extends ActionSupport {
public List<News> newsList;
public List<News> getNewsList() {
return newsList;
}
public void setNewsList(List<News> newsList) {
this.newsList = newsList;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return "success";
}
}
局部转换文件 SubmitAction-conversion.properties
Element_newsList=zq.News
现在SubmitAction.java与News.java和SubmitAction-conversion.properties都在zq目录下,可是showlist.jsp就是不显示内容。而且值栈为空,我正在解决中,希望高手看到的话给我些提示,谢谢。。。
分享到:
相关推荐
以上内容是Struts2学习笔记的概述,涵盖了Struts2的基础概念、发展历程、使用方法以及核心组件OGNL的介绍。深入学习Struts2将有助于提升Java Web开发能力,更好地理解和构建MVC架构的应用程序。
Struts2提供了类型转换、国际化、异常处理、插件体系等特性,简化了开发流程。 **案例分析** 1.9 简单登录案例展示了如何使用Struts2实现用户登录功能。 1.10 修改案例以增强安全性,防止用户绕过前端控制器。 1.11...
### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...
此外,对于集合类型如List或Set,Struts2能够自动将请求参数的字符串数组转换为对应的集合。数组类型也能被处理,每个字符串元素会被转换为特定类型并组成一个数组。 在案例中,有一个名为`Point`的自定义类,包含...
在这个学习笔记和测试源代码中,我们将专注于Struts2中的OGNL(Object-Graph Navigation Language)表达式,这是一种强大的表达式语言,用于在Java对象图中导航和操作数据。 OGNL是Struts2框架的核心部分,它允许...
包括对象导航、动态方法调用、类型转换、集合操作等功能,常用于Action与JSP之间的数据交换。 **总结** Struts2作为Java Web开发的重要框架,其强大的MVC实现、OGNL表达式以及丰富的插件机制,使得开发者能够高效地...
这个压缩包中的"zixue"文件可能是作者的学习笔记,包含对这些概念的详细解释、示例代码或实际应用案例,可以帮助学习者更好地掌握Struts2的这些关键概念。在学习时,应结合实际项目实践,逐步理解和运用这些知识,以...
- Struts2的OGNL负责类型转换,并提供了内置的转换器,支持多种基本类型和自定义类型。 6. **验证机制**: - Struts1的验证可以通过ActionForm的validate方法或Validator扩展来实现。 - Struts2支持validate方法...
总的来说,这个资源集合涵盖了从基础的Java IO操作到复杂的Web开发框架Struts2的多个方面,对学习和提升Java开发技能非常有帮助。通过深入理解和实践这些知识点,开发者可以更好地掌握Java平台上的输入输出操作,...
这个学习笔记主要围绕`json-lib`的使用方法和关键特性进行阐述。 首先,`json-lib`支持多种Java对象到JSON的转换,包括基本类型、数组、集合、Map以及自定义的Java类。例如,你可以通过以下方式将一个HashMap转换为...
{1.6}数据类型转换}{26}{section.1.6} {1.7}方法}{26}{section.1.7} {1.8}运算符}{27}{section.1.8} {1.8.1}自增运算}{28}{subsection.1.8.1} {1.8.1.1}Postincrement}{28}{subsubsection.1.8.1.1} {1.8.1.2}...
4. **泛型**:泛型引入了类型参数的概念,提高了代码的类型安全性,避免了类型转换的麻烦。 5. **注解(Annotation)**:注解提供了一种元数据机制,用于向编译器或运行时系统提供关于代码的信息,如Spring框架中的...
### SpringMVC学习课堂笔记知识点总结 #### 一、SpringMVC基础知识 ##### 1.1 什么是SpringMVC? SpringMVC是Spring框架的一部分,主要用于构建Web应用程序。它遵循了MVC(Model-View-Controller)设计模式,提供...
FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format} 2.1 通用插值 对于通用插值,又可以分为以下4种情况: 1,插值结果为字符串值:直接输出表达式结果 2,插值结果为数字值...
### JavaEE学习实战笔记心得 #### JavaSE基础要点 - **环境配置**: - **JDK下载与安装**:确保下载与操作系统相匹配的JDK版本,完成安装。 - **环境变量设置**: - **JAVA_HOME**: 指向JDK的安装目录。 - **...
- 集合操作:了解迭代器、泛型、集合转换、集合排序等操作。 3. **多线程与并发** - 线程的创建与控制:通过Thread类和Runnable接口创建线程,使用synchronized关键字、wait/notify机制。 - 线程池:...
- **类型转换**:自动将表单字段转换为相应的Java类型。 - **DTO**:数据传输对象,用于封装数据并传递给不同的组件。 - **动态ActionForm**:根据需求动态创建ActionForm。 - **验证框架**:Struts内置了一个验证...