隨筆 - 23  文章 - 3  trackbacks - 0
          <2006年4月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(1)

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          1。當(dāng)?shù)刂窞閔ref="/myRegister/myRegister.do?method=listRegister&&size=10&&&start=5"
          ?? 可以通過下面方法分別取到size&&start:
          ????Map?requestMap = request.getParameterMap();
          ????String ?size = requestMap.get("size");
          ??? String start =requestMap.get("start");

          2。checkbox取相同名字,則表單上得到的是一個數(shù)組。
          ????? <tr>
          ??????????????<td><input type="checkbox" value="<%=register.getId()%>" id="id"/></td>
          ???????????????<td><%=register.getName()%></td>
          ???????????????<td><%=register.getPassword()%></td>
          ??????????????? </tr>

          ??? 問題一:表單提交以后,form的對象是什么??
          ????問題二:如何利用request取到id的值數(shù)組??
          ????問題二的解決方法為將id值用","連成字符串,將字符串傳遞給action以后再進行分解.具體的解決為:(實現(xiàn)批量刪除)
          ??? delete.jsp:
          <%@page import="com.xindeco.core.pagination.PaginationSupport" %>
          <%@page import="com.xindeco.myregister.pojo.MyRegisterInfo"%>
          <%
          ?? PaginationSupport support = (PaginationSupport)request.getAttribute("registerList");
          ? ?List registerList=support.getItems();
          ??? %>
          <script>
          function concatValue(obj,delimiter) {//將id用,串成string
          ?????if(!obj) {
          ??????? ??return false;
          ??? ?}
          ???? if(!obj.length&&obj.checked) {
          ??????????return obj.value;
          ??? ?}
          ??? ?var str='';
          ??? ?for(var i=0;i<obj.length;i++) {
          ?????? ??if(obj[i].checked) {
          ?????? ????? ?str=str+obj[i].value;
          ?????? ????? ?str=str+delimiter;
          ?? ? ??? }?
          ??? ?}
          ???? if(str.length>0) {
          ?????? ??return str.substring(0,str.length-1);
          ??? ?}
          ???? return str;?????
          ?}
          ?function dele(obj)
          ?{
          ??? ?var str = concatValue(obj,',');
          ??? ?location.href('/myRegister/myRegister.do??? method=deleteRegister&&ids='+str);
          ??}
          </script>
          <html ><head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
          </head>
          <body>
          ??? <form action="/myRegister/myRegister.do?method=listRegister">
          ??????? <table id="detailTable" width="100%" border="0" >
          ????????????? <tr>
          ????????????? <td></td> <td>姓名</td><td>password</td>
          ????????????? </tr>
          ?????????? <%
          ?????????? for(int i=0;i<registerList.size();i++)
          ?????????? {
          ?????????????? MyRegisterInfo register= (MyRegisterInfo) registerList.get(i);
          ?????????? %>
          ????????????? <tr>
          ????????????????? <td><input type="checkbox" value="<%=register.getId()%>" id="id"/></td>
          ????????????????? <td><%=register.getName()%></td>
          ????????????????? <td><%=register.getPassword()%></td>
          ????????????????? </tr>
          ?? <% }%>
          ?? ????? <tr><td><input type = "button" onclick="dele(document.getElementsByName('id'))" value="刪除"></input></td></tr>
          ??????? </table>
          ??? </form>
          </body>
          </html>

          action中的方法:
          ????? String ids = req.getParameter("ids");
          ????????? String[] idList = ids.split(",");
          ????????? if(idList!=null){
          ????????????? Long[] idLong = new Long[idList.length];
          ????????????? for (int i = 0; i < idList.length; i++) {
          ????????????????? idLong[i] = Long.valueOf(idList[i]);
          ????????????? }
          ????????? if(service.deleteRegister(idLong)) return mapping.findForward("success");
          ????????? }

          其中deleteRegister的方法體為:

          public boolean deleteRegister(Long[] ids)
          ??? {
          ?????? MyRegisterDAO dao = (MyRegisterDAO) this.getBaseDAO();
          ?????? for(int i=0;i<ids.length;i++) {
          ??????????? dao.remove(MyRegisterInfo.class,ids[i]);
          ??????? }
          ??????? return true;
          ??? }


          dao.remove的方體為
          ?? public void remove(Class clazz, Serializable id) {
          ??????? getHibernateTemplate().delete(get(clazz, id));
          ??? }

          在這過程中我發(fā)現(xiàn)了long和Long的最大差別:Long是serializable類型,并且從string轉(zhuǎn)化的過程也不同.
          ?? long simple = Long.ParseLong(str);
          ?? Long objLong = Long.valueOf(str);

          posted on 2006-04-15 15:34 aimy 閱讀(142) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 政和县| 德阳市| 甘孜县| 孟州市| 虹口区| 平安县| 城固县| 鱼台县| 东乡族自治县| 中西区| 阜城县| 塘沽区| 上饶县| 三亚市| 靖远县| 抚宁县| 尼玛县| 麻栗坡县| 钦州市| 化州市| 泗阳县| 扶余县| 双柏县| 日照市| 彭阳县| 隆安县| 承德县| 平远县| 杭锦旗| 临湘市| 呼图壁县| 汉源县| 迁安市| 远安县| 祁连县| 永济市| 塘沽区| 山阴县| 屏东市| 中超| 山阳县|