繼續關注我的C語言學習博客

          林臨的地盤

          java學習博客
          posts - 44, comments - 28, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          2009年9月21日

          struts2的s:iterator 可以遍歷 數據棧里面的任何數組,集合等等 以下幾個簡單的demo:
          s:iterator 標簽有3個屬性:
              value:被迭代的集合
              id   :指定集合里面的元素的id
              status 迭代元素的索引
          1:jsp頁面定義元素寫法 數組或list

          <s:iterator value="{'1','2','3','4','5'}" id='number'>
              <s:property value='number'/>A
          </s:iterator>
          打印結果為: 1A2A3A4A5A
          2:索引的用法
          如果指定了status,每次的迭代數據都有IteratorStatus的實例,它有以下幾個方法
          int getCount()返回當前迭代了幾個元素
          int getIndex()返回當前元素索引
          boolean isEven()當然的索引是否偶數
          boolean isFirst()當前是否第一個元素
          boolean isLast()
          boolean isOdd()當前元素索引是否奇數
          <s:iterator value="{'a','b','c'}" id='char' status='st'>
              <s:if test="#st.Even">
                  現在的索引是奇數為:<s:property value='#st.index'/>
              </s:if>
              當前元素值:<s:property value='char'/>
          </s:iterator>
          3:遍歷map
          value可以直接定義為:
          value="#{"1":"a","2":"b"}"
          每個元素以都好隔開。元素之間的key和value 冒號隔開
          value也可以是數據棧里面的java.util.Map對象
          遍歷寫法如下:
          <s:iterator value="map" id="id" status="st">
               key : <s:property value='key'/>
               value:<s:property vlaue='value'/>
          </s:iterator>
          當然key 和value 都可以使java 的 Object
          3:遍歷數據棧.簡單的List類,
          List<Attr>
          class Attr{String attrName;String getAttrName(){return "123";}}
          <s:iterator value="label" id="id">
              <s:property value="#id.attrName" />
          </s:iterator>
          當然value 還可以寫成 value="%{label}" label可以有.操作
          label的屬性List 可以寫成value="%{label.list}" 相當于:getLabel().getList();
          4:遍歷2個list;
          List<AttrName> attrN {color,size,style}
          List<AttrValue> attrV {red,20,gay}
          這2個list的元素是一一對應的,一個attrN對應一個attrV
          <s:iterator value="%{attrN }" id="id"   status="status">
          index    is : <s:property value='status.index'/>
          attrName is : <s:property value='id'/> or <s:property value='%{id}'/>
          attrName is : <s:property value='%{attrV[#status.index]}'/>
          </s:iterator>  
          轉自:http://www.aygfsteel.com/Reg/archive/2009/11/20/303085.html

          posted @ 2012-06-18 17:11 lubaolin 閱讀(842) | 評論 (0)編輯 收藏

          點擊“開始→運行”,在彈出的“運行”對話框中輸入“REGSVR32 /n /i:u shell32”(不含雙引號),然后回車,片刻后會彈出“shell32中的DllInstall成功”對話框,“顯示桌面”按鈕就可以完美歸來了

          posted @ 2011-04-21 09:11 lubaolin 閱讀(375) | 評論 (0)編輯 收藏

               摘要: HTML字符實體(Character Entities),轉義字符串(Escape Sequence) 為什么要用轉義字符串? HTML中<,>,&等有特殊含義(<,>,用于鏈接簽,&用于轉義),不能直接使用。這些符號是不顯示在我們最終看到的網頁里的,那如果我們希望在網頁中顯示這些符號,該怎么辦呢? 這就要說到HTML轉義字符串(Esca...  閱讀全文

          posted @ 2010-09-07 18:30 lubaolin 閱讀(8835) | 評論 (0)編輯 收藏

          import java.io.File;
          import java.io.FileInputStream;
          import java.io.IOException;
          import java.util.Date;

          import javax.servlet.ServletException;
          import javax.servlet.http.HttpServlet;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;

          import net.sf.jazzlib.ZipEntry;
          import net.sf.jazzlib.ZipOutputStream;

          public class BatchDownload extends HttpServlet {

           public BatchDownload() {
            super();
           }

           public void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
            response.setContentType("APPLICATION/OCTET-STREAM");
            response.setHeader("Content-Disposition","attachment; filename="+this.getZipFilename());
            System.out.println("in BatchDownload................");
            ZipOutputStream zos = new ZipOutputStream(response.getOutputStream());  
               File[] files = new File[2];
               files[0]=new File("c:/zip/文件A.doc");
               files[1]=new File("c:/zip/文件B.doc");
               zipFile(files, "", zos);  
               zos.flush();  
               zos.close();  

           }
           private void zipFile(File[] subs, String baseName, ZipOutputStream zos) throws IOException {    
                for (int i=0;i<subs.length;i++) {
                 File f=subs[i];
                 zos.putNextEntry(new ZipEntry(baseName + f.getName()));  
                 FileInputStream fis = new FileInputStream(f);  
                 byte[] buffer = new byte[1024];  
                 int r = 0;  
                 while ((r = fis.read(buffer)) != -1) {  
                     zos.write(buffer, 0, r);  
                 }  
                 fis.close();
                }
           }
           private String getZipFilename(){
            Date date=new Date();
            String s=date.getTime()+".zip";
            return s;
           }

           public void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
            this.doGet(request, response);
           }
          }

          posted @ 2009-10-22 14:30 lubaolin 閱讀(718) | 評論 (0)編輯 收藏

          將listener.ora中的(PROGRAM = extproc)這句注釋掉就可以了。去網上找過,extproc是一個擴展的程序調用接口協議,  連接和調用外部的操作系統程序或進程用時會用到。

          轉自:http://blog.csdn.net/chenjuntj2007/archive/2009/07/04/4321640.aspx

          posted @ 2009-09-21 17:19 lubaolin 閱讀(21238) | 評論 (3)編輯 收藏

          繼續關注我的C語言學習博客
          主站蜘蛛池模板: 龙井市| 普宁市| 广德县| 文化| 密山市| 敦化市| 会理县| 建宁县| 永顺县| 叶城县| 昌乐县| 涟源市| 陇南市| 栾城县| 公主岭市| 固始县| 尼玛县| 文山县| 嘉义县| 襄汾县| 宁国市| 龙南县| 建始县| 时尚| 都昌县| 黄大仙区| 邻水| 商河县| 麦盖提县| 秦安县| 宁陕县| 井冈山市| 张家口市| 郸城县| 内黄县| 外汇| 绥中县| 武隆县| 盐山县| 深圳市| 富宁县|