`
suhuanxi
  • 浏览: 42380 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

struts2动态创建一行,把值放进Bo里,然后再放进List里

 
阅读更多

刚刚开始用struts2,在前台实现了一个能增删改的Table,就是点击Add按钮就会增加一行,然后输入值的那种,起初在Action类里是用request方法一个一个get得到值,后来leader不满意,要我做成一行对应一个BO,然后把BO放进一个List里,在Action通过拿到这个List便可以一次拿到所有增加的行值,第一次用struts2,糊糊涂涂的,甚至想过去改写拦截器,找了不少资料后发现,其实也没那么复杂的.这是我找来的一个例子。

Struts2中支持使用List在页面和Action之间直接传递表格数据。下面是一个示例:
public class Person {
int id;
String name;
int age;
float height;
}

这是一个POJO,getter和setting省略了。

action中可以这样使用:
public class MyAction {
public List getPeopleList() { … }
public void setPeopleList( List peopleList ) { … }

}
在我们使用Person类之前,需要添加一个配置文件,MyAction-conversion.properties,把这个文件和MyAction放在一起。
这个文件里只有一行内容:
Element_peopleList=Person
前缀Element_是一个常量,表明等号左边的表达式中跟在这个常量后面的是Action类中一个List类型的字段名。
等号右边的表达式是全类名(包含package)
下面是一个页面的代码片段:
<s:form action="update" method="post" >
<s:iterator value="peopleList" status="stat">
<s:hidden
name="peopleList[%{#stat.index}].id"
value="%{peopleList[#stat.index].id}"/>
<s:textfield label="Name"
name="peopleList[%{#stat.index}].name"
value="%{peopleList[#stat.index].name}"/>
<s:textfield label="Age"
name="peopleList[%{#stat.index}].age"
value="%{peopleList[#stat.index].age}" />
<s:textfield label="Height"
name="peopleList[%{#stat.index}].height"
value="%{peopleList[#stat.index].height}"/>
<br/>
s:iterator>
<s:submit value="Update"/>
s:form>


使用这段代码,Struts2会创建一个Person类的ArrayList,并且用setPersonList这个方法把页面表格中的值传递回Action。
如果你是想从用户界面中动态创建列表值,需要允许Struts2给列表中类的实例。那么在配置文件MyAction-conversion.properties中添加一行:
CreateIfNull_peopleList = true

 

呵呵...共勉啊...

分享到:
评论

相关推荐

    Struts2 创建简单步骤

    下面将详细阐述创建一个简单的Struts2 HelloWorld程序的步骤: ### Step 1. 创建一个简单的Web应用程序 首先,你需要在IDE(如Eclipse、IntelliJ IDEA等)或通过手动方式创建一个新的Java Web项目。这通常包括以下...

    Struts2 动态方法调用(十三)

    在Struts2中,动态方法调用(Dynamic Method Invocation,DMI)是一种特性,允许我们通过URL直接调用Action类的方法,而无需在配置文件中显式指定。这在某些情况下提供了更大的灵活性。 在Struts2的动态方法调用中...

    struts2 动态结果集

    Struts2 动态结果集是Struts2框架中的一项特性,它允许开发者在运行时动态地构建Action的结果集配置,极大地增强了应用的灵活性。在传统的Struts2配置中,结果集(Result)通常是在struts.xml或者类似的配置文件中硬...

    struts 2 action 动态调用

    - 创建一个简单的Struts 2项目。 - 配置开发模式,以便于调试和测试。 **2. 配置文件(struts.xml)** ```xml &lt;struts&gt; &lt;constant name="struts.devMode" value="true"/&gt; ...

    Struts实现动态树

    在描述中提到的“Struts2实现动态树结合Hibernate”,这意味着我们将讨论如何在Struts2中创建一个能够动态加载数据的树形结构,并利用Hibernate作为持久层框架来管理数据库交互。 动态树视图是一种用户界面元素,它...

    Struts2动态方法调用

    Struts2作为一款流行的Java Web框架,其动态方法调用(Dynamic Method Invocation,DMI)功能为开发者提供了极大的灵活性。在传统的MVC模式中,控制器(Controller)通常通过硬编码的方式处理请求,而动态方法调用则...

    struts2中动态填充下拉框的例子

    6. **提交与处理**:当用户选择一个选项并提交表单时,Struts2会调用另一个Action(在这里是`anotherAction`),并将选定的值(`selectedOption`)传递给该Action。 以上就是Struts2中动态填充下拉框的基本流程。在...

    巧用struts标签之checkboxlist选中默认值换行处理

    在JSP页面加载完成后,通过获取`checkboxlist`对应的`td`元素,然后遍历其中的所有`checkbox`元素,每5个复选框后插入一个换行符` `,并为每个复选框前添加一个`label`元素,以便于更好的可访问性。 ```...

    Struts2+IText动态导出PDF示例源码

    Struts2是一个强大的MVC框架,它在Java Web开发中被广泛应用。IText是一个用于创建和处理PDF文档的开源库,常用于动态生成PDF报告。在这个"Struts2+IText动态导出PDF示例源码"项目中,开发者利用这两者结合,实现了...

    struts2对于checkboxlist的换行

    在Struts2中,处理用户输入是常见的任务,而`checkboxlist`是用于展示一组可选复选框的组件。这篇博客讨论的是如何在Struts2中处理`checkboxlist`的换行问题,这在创建多列或美观的表单布局时非常有用。 `checkbox...

    IntelliJ IDEA 2017.3创建第一个Struts2项目

    在本文中,我们将深入探讨如何使用IntelliJ IDEA 2017.3版本来创建一个基于Struts2框架的第一个Web应用程序。Struts2是一个强大的、开源的MVC(Model-View-Controller)框架,它简化了Java Web开发,提高了代码的可...

    struts2分页代码的示例

    把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库中查询出来并进行了封装的那些对象,然后通过Struts2的...

    Struts2案例翻译篇-Using Struts2 Tag

    在Struts2中,Tag库是其核心组件之一,极大地简化了视图层的开发,使得开发者可以更方便地创建动态网页。本篇将深入讲解如何在Struts2中使用Tag,以及它们在"HelloWorld"案例中的应用。 1. **Struts2 Tags介绍** ...

    struts2 实现oracle数据库的增删改查

    返回结果通常是一个List或单个对象,通过Struts2的Result类型映射到页面显示。 更新操作(Update):更新操作涉及找到要修改的对象,更新其属性,然后保存。Action方法将接收用户提交的更新信息,更新对象并调用DAO...

    马士兵Struts2笔记2013

    创建一个Struts2工程通常涉及在集成开发环境中(如MyEclipse)创建一个新的Web项目,然后将必要的Struts2库添加到项目的`lib`目录,并配置`web.xml`以启用Struts2 Filter。 2. **Action的属性接收参数** 在Struts...

    一个Action多方法调用的Struts 2的应用程序

    利用Struts 2框架创建一个web项目chap2_e22,实现用户登录过程。具体要求是在loginAction类中分别用login()和registered()处理用户登录和注册的过程,分别创建login.jsp和register.jsp两个页面实现登录和注册的...

    struts2动态树形目录

    在本项目中,"struts2动态树形目录"实现了这一功能,用户可以通过界面动态地创建、编辑和删除目录。 首先,让我们深入了解一下Struts2框架。Struts2基于拦截器模式,提供了丰富的插件和拦截器,支持多种视图技术如...

    Struts2教学视频

    Struts2是一个强大的Java web开发框架,用于构建可维护、可扩展且结构良好的应用程序。它在MVC(Model-View-Controller)设计模式的基础上提供了一种实现方式,使得开发者能够更方便地处理用户请求,控制业务逻辑,...

    struts2中文学习文档

    从给定的文件信息来看,标题“struts2中文学习文档”和描述“struts2的根本webwork2”表明这是一份关于Struts2框架的学习资料,特别强调了Struts2与WebWork2的关系。Struts2是Apache Struts的一个版本,它是一个用于...

    Struts2视频教程

    - **Hello Struts2**:通过创建一个简单的“Hello World”示例,帮助开发者快速上手Struts2的基本配置和运行流程。 - **Action类详解**:Action类是Struts2的核心组件之一,负责处理用户的请求并返回相应的结果。...

Global site tag (gtag.js) - Google Analytics