在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法
在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法
==========方法1:
--------1. 选相应的checkbox后 点删除按钮-------------
<!-- *******************删除******************* -->
<input type="image" alt="delete"
src="<%=request.getContextPath() %>/images/btnImg/btn_delete.gif"
id="doDelete" name="action:delLocationAction!delete"
class="button_image" onClick="return delCheck2();" />
--------2. jsp页面的代码---------------
<table id="datashow" align="center" border="1" class="tb3" width="100%">
<tr class="gridtitle">
<td align="center"><input type="checkbox" id="chkAll"
name="chkAll" onClick="checkboxcheck();"></td>
<td>aaa</td>
<td>bbb
<% String varWerks=""; %>
<input type="hidden" name="werks_N" value="<%=varWerks%>">
</td>
</tr>
<% //String varWerks=""; %>
<s:iterator value="pageBean.list" status="index" id="cu">
<s:if test="#index.odd == true">
<tr class="gridspan">
</s:if>
<s:else>
<tr>
</s:else>
<td align="center">
<input type="checkbox" id="cb" name="ids" value="<s:property value="lgort"/>" />
</td>
<td><s:property value="lgort" /></td>
<td><s:property value="werks" /></td>
</tr>
</s:iterator>
</table>
-------3. 引用js方法---------------------------------
<script src="<%=request.getContextPath() %>/js/CheckBox.js"
type="text/javascript"></script>
-------4. js方法------------
function delCheck2()
{
var c=checkedNums();
if(c==0)
{
alert("您至少选择一条记录作为删除的对象。");
return false;
}
if(confirm("您确实要删除这条记录吗?"))
{
//-------------
var count=0;
var tb= document.all.datashow;
var str2="";
if(tb!=null)
{
for(i=0;i<tb.rows.length;i++)
{
var var1=tb.rows[i].cells[0].children[0];
if(var1.tagName=="INPUT" )
{
if(var1.type=="checkbox")
{
if (var1.checked)
{
count=count+1;
var td1=tb.rows[i].cells[1].innerText;
var td2=tb.rows[i].cells[2].innerText;
if(str2=="")
{
str2=td2;
}
else
{
str2=str2+","+td2;
}
}
} // ----if(var1.type=="checkbox")------>>>>
} // ---if(var1.tagName=="INPUT" )------->>
} // ---for(i=0;i<tb.rows.length;i++)
/* 隐藏域记录选中的序列 */
window.form1.werks_N.value = str2;
/* 正常提交表单 */
window.form1.submit();
}// ----if(tb!=null)---->>
return true;
}
return false;
}
------------5. action类中的代码
//分解字符串
public String[] SplitStr(String s) {
String[] ss = new String[200];
// 在每个逗号字符处进行分解。
ss = s.split(",");
return ss;
} public String delete() throws Exception
{
HttpServletRequest request = ServletActionContext.getRequest();
String[] ids = request.getParameterValues("ids");
if (ids == null)
{
return SUCCESS;
}
String[] ida=request.getParameterValues("werks_N");
//是一个字符串 要分解 slipe
System.out.println(ida[0]);
String[] ss=SplitStr(ida[0]);
for (int i = 0; i < ids.length; i++) {
System.out.println("print ids " + ids[i]);
LocationBean locationBean = new LocationBean();
locationBean.setLgort(ids[i]);
System.out.println("print ida " + ss[i]);
locationBean.setWerks(ss[i]);
locationService.deleteLocation(locationBean);
}
return SUCCESS;
}
======方法2======(简单)===========
---------1. jsp页面中的代码
<table id="datashow" align="center" border="1" class="tb3" width="100%">
<tr class="gridtitle">
<td align="center"><input type="checkbox" id="chkAll" name="chkAll" onClick="checkboxcheck();"></td>
<td>aaa</td>
<td>bbb</td>
</tr>
<s:iterator value="pageBean.list" status="index" id="cu">
<s:if test="#index.odd == true">
<tr class="gridspan">
</s:if>
<s:else>
<tr> </s:else>
<td align="center">
<input type="checkbox" id="cb" name="ids" value="<s:property value="%{lgort +' '+ werks}"/>" />
</td>
<td><s:property value="lgort" /></td>
<td><s:property value="werks" /></td>
</tr>
</s:iterator>
</table>
-----------2. action类中的代码
代码
---------3. 双主键情况下 *.hbm.xml中的写法-----
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.pms.bean.base.LocationBean" table="tbLocation">
<composite-id>
<key-property name="lgort"
column="LO_LGORT"
type="java.lang.String"/>
<key-property name="werks"
column="LO_WERKS"
type="java.lang.String"/>
</composite-id>
</class>
</hibernate-mapping>
在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法的更多相关文章
- 保留键的情况下取字典中最大的值(max\zip函数的联合使用)
在我们平常想要获取字典中value最大或者最小的值的时候,常常使用如下函数: testDict = {"age1":18,"age2":20,"age ...
- 浅谈Hibernate框架(一)——.hbm.xml中的配置
Hibernate一枚“全自动”的ORM框架: 用IDE工具集成Hibernate会自动生成: 以.hbm.xml为后缀结尾的配置文件+ POJO类 + Dao类 主键查询: Session.load ...
- 如何在不使用系统函数的情况下实现PHP中数组系统函数的功能
PHP中为我们提供了各种各样的系统函数来实现我们需要的各种功能,那么,在不使用系统函数的情况下我们要怎样来实现这些功能呢?以下就是几种系统函数的实现方式. 首先,我们来定义一个数组: $arr= ar ...
- 二、sql新增后返回主键|sql 使用 FOR XML PATH实现字符串拼接|sql如果存在就修改不存在就新增
一.sql新增后返回主键 1,返回自增的主键: INSERT INTO 表名 (字段名1,字段名2,字段名3,…) VALUES (值1,值2,值3,…) SELECT @@IDENTITY 2,返回 ...
- 解决 IDEA 下 struts.xml 中 extends="struts-default" 报红的问题
现象 在IDEA中配置struts.xml时 extends="struts-default" 报红,配置拦截器时属性无预选项提示,也爆红. struts.xml本身的配置并没有错 ...
- Tomcat下server.xml中context介绍
conf/Context.xml是Tomcat公用的环境配置;若在server.xml中增加<Context path="/test" docBase="D:\te ...
- 关于hibernate纯sql查询返回结果集的问题(hbm.xml中不写多表关联)
相信用过hibernate的兄弟们都会因为多表复杂查询后,为返回的结果如何组装到一个VO中而烦恼不已.我也不停的为此而烦恼,但是在看了hibernate的transform后,感觉这个方法还挺管用的. ...
- tomcat下context.xml中JNDI数据源配置
jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...
- 在tomcat下context.xml中配置各种数据库连接池(JNDI)
1. 首先,需要为数据源配置一个JNDI资源.我们的数据源JNDI资源应该定义在context元素中.在tomcat6版本中,context元素已经从server.xml文件中独立出来了,放在一个 ...
随机推荐
- ubuntu下git安装及连接github
1.安装 sudo apt-get install git git-core git-gui git-doc git-svn git-cvs gitweb gitk git-email git-dae ...
- maven,spring,mybatis集成错误
maven,spring,mybatis集成的时候单元测试junit测试没问题,但mvn jetty:run 就报错误 错误: org.apache.ibatis.binding.BindingExc ...
- Zend Studio 或者Eclipse下安装插件Spket(以Zend为例)
1. Help>Install New Software... 2. 在Work With:后输入网址 http://www.agpad.com/update,点击Add 3. 输入Name:S ...
- Yii Listview 更新及搜索
更新: http://my.oschina.net/shixiaobao17145/blog/130992 http://www.yiiframework.com/forum/index.php/to ...
- 修改Tomcat Connector运行模式,优化Tomcat运行性能
Tomcat是一个小型的轻量级应用服务器,也是JavaEE开发人员最常用的服务器之一.不过,许多开发人员不知道的是,Tomcat Connector(Tomcat连接器)有bio.nio.apr三种运 ...
- java transient简单介绍
我们都知道一个对象仅仅要实现了Serilizable接口,这个对象就能够被序列化,java的这样的序列化模式为开发人员提供了非常多便利,我们能够不必关系详细序列化的过程,仅仅要这个类实现了Serili ...
- android 无线模式下使用ADB调试
改动系统system权限 1. cp sud /system/xbin/sud chmod 755 /system/xbin/sud // note: su chmod 成755 2. cp su / ...
- jfinal拦截器301跳转
在jfinal的handle中加入 HandlerKit.redirect301("http://10.10.3.144:8080/bbb.rar", request, respo ...
- 标准I/O的替代软件
标准I/O并不完善. 标准I/O库的一个不足之处是效率不高,这与它需要复制的数据量有关.当使用每次一行函数fgets和fputs时,通常需要复制两次数据:一次是在内核和标准I/O缓冲之间(当调用rea ...
- 台湾书籍代购网址——2013-08-25 16
台湾书籍代购 博客来http://www.books.com.tw 三民http://www.sanmin.com.tw 诚品http://www.eslite.com 金石堂http://www.k ...