struts2表单批量提交
<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
<%@ page contentType = "text/html; charset=UTF-8" %> <s:form action="dailyDutyListStore" method="post" name="operation" theme="simple">
<table id="DataList">
<tr>
<th nowrap style="text-align:center;">日期</th>
<th nowrap style="text-align:center;">值班领导</th>
<th nowrap style="text-align:center;">当值值班长</th>
<th nowrap style="text-align:center;">值班警员</th>
<th nowrap style="text-align:center;">值班警力</th>
</tr> <s:iterator value="dailyDutys" status="status">
<tr>
<td nowrap align="center">
<input type="hidden" name="dailyDutys[<s:property value='#status.index'/>].key" value="<s:property value='key'/>"/>
<input type="hidden" name="dailyDutys[<s:property value='#status.index'/>].dutyDate" value="<s:date name='dutyDate' format='yyyy-MM-dd'/>"/>
<input type="hidden" name="dailyDutys[<s:property value='#status.index'/>].deptName" value="<s:property value='deptName'/>"/>
<input type="hidden" name="dailyDutys[<s:property value='#status.index'/>].deptType" value="<s:property value='deptType'/>"/> <s:date name="dutyDate" format="yyyy/MM/dd"/>
</td>
<td nowrap align="center">
<input type="text" name="dailyDutys[<s:property value='#status.index'/>].people1" value="<s:property value='people1'/>"/>
</td>
<td nowrap align="center">
<input type="text" name="dailyDutys[<s:property value='#status.index'/>].people2" value="<s:property value='people2'/>"/>
</td>
<td nowrap align="center">
<input type="text" name="dailyDutys[<s:property value='#status.index'/>].people3" value="<s:property value='people3'/>" style="width:400px;"/>
</td>
<td nowrap align="center">
<input type="text" name="dailyDutys[<s:property value='#status.index'/>].dutyNum" value="<fmt:formatNumber value='${dutyNum}' pattern="#" type="number"/>"/>
</td>
</tr>
</s:iterator> </table>
</s:form> <tiles:insertTemplate template="../../tiles/bars/submitbar.jsp" flush="true"/> <style>
.checkboxLabel {
vertical-align:top;
width:180px;
display:inline-block;
}
.selectBox {
border:none;
}
</style>
/**
* 保存值班基本信息。根据保存的value对应的key值来区分是创建create还是修改edit
* 如果key值为空,那就创建;如果key值不为空,那就保存
* @return forward
* @throws ParseException
*/
public String store()
throws NamingException, ParseException
{
if(this._dailyDutys == null || this._dailyDutys.size() == 0)
{
super.addActionError("未找到内容!");
return ERROR;
}
DailyDutyLocal dailyDutyDao = EjbUtil.getDailyDutyLocal();
for(DailyDuty value : this._dailyDutys)
{
if(value == null)
{
continue;
}
if(StringFactory.isNotNull(value.getKey()))//修改
{
DailyDuty theDailyDuty = dailyDutyDao.findDailyDuty(value.getKey());
theDailyDuty.setValue(value);
dailyDutyDao.doMerge(theDailyDuty);
}
else//新建
{
value.setCreateBy(super.getCurrentUser().getName());
dailyDutyDao.createDailyDuty(value);
}
}
return SUCCESS;
}
struts2表单批量提交的更多相关文章
- 12、Struts2表单重复提交
什么是表单重复提交 表单的重复提交: 若刷新表单页面, 再提交表单不算重复提交. 在不刷新表单页面的前提下: 多次点击提交按钮 已经提交成功, 按 "回退" 之后, 再点击 &qu ...
- Struts2防止表单重复提交
1.说明 系统拦截器的应用. 表单重复提交:当使用请求转化进行跳转的时候,存在着表单重复提交的问题. 2.在表单中加入s:token 如果页面加入了struts2的标签,页面的请求必须进入struts ...
- 【转】Struts2解决表单重复提交问题
用户重复提交表单在某些场合将会造成非常严重的后果.例如,在使用信用卡进行在线支付的时候,如果服务器的响应速度太慢,用户有可能会多次点击提交按钮,而这可能导致那张信用卡上的金额被消费了多次.因此,重复提 ...
- [原创]java WEB学习笔记73:Struts2 学习之路-- strut2中防止表单重复提交
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- struts2视频学习笔记 29-30(Struts 2常用标签,防止表单重复提交)
课时28 Struts 2常用标签解说 property标签 property标签用于输出指定值: <s:set name="name" value="'kk'&q ...
- Struts2笔记——利用token防止表单重复提交
在一些项目中经常会让用户提交表单,当用户点击按钮提交后,如果再次浏览器刷新,这就会造成表单重复提交,若是提交的内容上传至服务器并请求数据库保存,重复提交的表单可能会导致错误,然后跳转到错误界面,这是一 ...
- struts2之防止表单重复提交
struts.xml配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts ...
- Struts2 处理表单重复提交
* 在表单页面中增加一个隐藏域:<s:token></s:token>(需要在表单内) * 创建一个struts.xml的配置文件,具体配置如下: ...
- struts2表单提交的乱码的问题的解决
今天碰到一乱码问题,百思不得其解. 最后解决办法是设置了表单的提交方式,将method设置为post,解决问题.虽然默认的提交方式是post.但是如果不显式设置的话,就会出现我所出现的问题. 总结下处 ...
随机推荐
- 3D游戏常用技巧Normal Mapping (法线贴图)原理解析——基础篇
http://www.cnblogs.com/wangchengfeng/p/3470310.html
- python-网络编程-socket编程
一.TCP\IP(网络通信协议)简介 TCP:(Transmission Control Protocol)传输控制协议,面向有连接的通信协议 UDP:数据报文协议,面向无连接的通信协议 ...
- c语言中的scanf在java中应该怎么表达,Scanner类。
1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...
- ASP.NET(C#) Web Api通过文件流下载文件到本地实例
下载文件到本地是很多项目开发中需要实现的一个很简单的功能.说简单,是从具体的代码实现上来说的,.NET的文件下载方式有很多种,本示例给大家介绍的是ASP.NET Web Api方式返回HttpResp ...
- HTTPS 原理解析
一 前言 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全.为了保证 ...
- .NET跨平台之旅:将示例站点从ASP.NET 5 Beta7升级至RC1
今天,我们将示例站点(about.cnblogs.com,服务器操作系统是Ubuntu)从ASP.NET 5 Beta7升级到了RC1,在升级过程中只遇到了一个问题. 在运行 dnvm upgrade ...
- Android开发之XUtils框架使用和报错处理
一.XUtils lib的的添加: 1.点击+,选择第一个Library dependency 2.输入XUtils 按enter键,搜索: 3.然后就是选择XUtils,选择哪个版本就看个人了,接 ...
- UIView的setNeedsDisplay和setNeedsLayout
1,UIView的setNeedsDisplay和setNeedsLayout方法 首先两个方法都是异步执行的.而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到 UI ...
- Python【第三章】:python 面向对象 (new)
面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实 ...
- 简单实用的Log4net帮助类
一直使用Log4net,进行日志记录.今天把实用的帮助类,在博客园进行一下公布 首先,添加一个log4net配置文件 <?xml version="1.0"?> < ...