在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中的写法的更多相关文章

  1. 保留键的情况下取字典中最大的值(max\zip函数的联合使用)

    在我们平常想要获取字典中value最大或者最小的值的时候,常常使用如下函数: testDict = {"age1":18,"age2":20,"age ...

  2. 浅谈Hibernate框架(一)——.hbm.xml中的配置

    Hibernate一枚“全自动”的ORM框架: 用IDE工具集成Hibernate会自动生成: 以.hbm.xml为后缀结尾的配置文件+ POJO类 + Dao类 主键查询: Session.load ...

  3. 如何在不使用系统函数的情况下实现PHP中数组系统函数的功能

    PHP中为我们提供了各种各样的系统函数来实现我们需要的各种功能,那么,在不使用系统函数的情况下我们要怎样来实现这些功能呢?以下就是几种系统函数的实现方式. 首先,我们来定义一个数组: $arr= ar ...

  4. 二、sql新增后返回主键|sql 使用 FOR XML PATH实现字符串拼接|sql如果存在就修改不存在就新增

    一.sql新增后返回主键 1,返回自增的主键: INSERT INTO 表名 (字段名1,字段名2,字段名3,…) VALUES (值1,值2,值3,…) SELECT @@IDENTITY 2,返回 ...

  5. 解决 IDEA 下 struts.xml 中 extends="struts-default" 报红的问题

    现象 在IDEA中配置struts.xml时 extends="struts-default" 报红,配置拦截器时属性无预选项提示,也爆红. struts.xml本身的配置并没有错 ...

  6. Tomcat下server.xml中context介绍

    conf/Context.xml是Tomcat公用的环境配置;若在server.xml中增加<Context path="/test" docBase="D:\te ...

  7. 关于hibernate纯sql查询返回结果集的问题(hbm.xml中不写多表关联)

    相信用过hibernate的兄弟们都会因为多表复杂查询后,为返回的结果如何组装到一个VO中而烦恼不已.我也不停的为此而烦恼,但是在看了hibernate的transform后,感觉这个方法还挺管用的. ...

  8. tomcat下context.xml中JNDI数据源配置

    jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...

  9. 在tomcat下context.xml中配置各种数据库连接池(JNDI)

    1.   首先,需要为数据源配置一个JNDI资源.我们的数据源JNDI资源应该定义在context元素中.在tomcat6版本中,context元素已经从server.xml文件中独立出来了,放在一个 ...

随机推荐

  1. POJ 3450 Corporate Identity kmp+最长公共子串

    枚举长度最短的字符串的所有子串,再与其他串匹配. #include<cstdio> #include<cstring> #include<algorithm> #i ...

  2. node系列4

    进程管理 NodeJS可以感知和控制自身进程的运行环境和状态,也可以创建子进程并与其协同工作,这使得NodeJS可以把多个程序组合在一起共同完成某项工作,并在其中充当胶水和调度器的作用.本章除了介绍与 ...

  3. 问题-Fastreport4 Memo打印时中文显示不全

    问题现象:在使用Fastreport4制作打印工具时,发现Memo显示中文老是显不不全. 问题原因:可能是因为字符编码的原因,希望高人指点. 问题处理:将属性font-charset设置为DEFAUL ...

  4. [深入浅出Cocoa]详解键值观察(KVO)及其实现机理

    一,前言 Objective-C 中的键(key)-值(value)观察(KVO)并不是什么新鲜事物,它来源于设计模式中的观察者模式,其基本思想就是: 一个目标对象管理所有依赖于它的观察者对象,并在它 ...

  5. 微软的.NET示例代码放在Github上了

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:微软的.NET示例代码放在Github上了.

  6. Filter过滤器(1)

    Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 ht ...

  7. Oracle数据库编程:PL/SQL编程基础

    2.PL/SQL编程基础: PL/SQL块:        declare        定义部分        begin        执行部分        exception        异 ...

  8. ConversionException: No value specified for 'Date'的解决版本

    DateConverter converter = new DateConverter(defaultValue); ConvertUtils.register(converter, java.uti ...

  9. BS和CS对比

    BS和CS对比 牛腩新闻发布系统已经开始了不短的时间了,CS的项目也算是接触了下,接下来对比下CS和BS CS和BS是什么? C/S结构即Client/Server(客户机/服务器)结构,是大家熟知的 ...

  10. Linux crontab 命令格式与具体样例

    基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用*或者 */1表示 第2列表示小时1-23(0表示0点) 第3列表示日期1-31 第4列表示 ...