隨筆 - 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取相同名字,則表單上得到的是一個(gè)數(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以后再進(jìn)行分解.具體的解決為:(實(shí)現(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 閱讀(145) 評論(0)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 兖州市| 德格县| 财经| 芮城县| 江油市| 清徐县| 富蕴县| 嵊州市| 夏邑县| 个旧市| 巴里| 濉溪县| 柳江县| 张家界市| 开鲁县| 霍林郭勒市| 茂名市| 沈丘县| 治县。| 长宁县| 重庆市| 苏州市| 哈密市| 林周县| 淮滨县| 隆尧县| 花垣县| 和顺县| 镇远县| 邓州市| 华池县| 双城市| 连州市| 游戏| 阳东县| 鹿泉市| 抚顺县| 诏安县| 万州区| 醴陵市| 广水市|