繼續(xù)關(guān)注我的C語言學(xué)習(xí)博客

          林臨的地盤

          java學(xué)習(xí)博客
          posts - 44, comments - 28, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          2009年7月3日

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

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

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

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

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

               摘要: HTML字符實體(Character Entities),轉(zhuǎn)義字符串(Escape Sequence) 為什么要用轉(zhuǎn)義字符串? HTML中<,>,&等有特殊含義(<,>,用于鏈接簽,&用于轉(zhuǎn)義),不能直接使用。這些符號是不顯示在我們最終看到的網(wǎng)頁里的,那如果我們希望在網(wǎng)頁中顯示這些符號,該怎么辦呢? 這就要說到HTML轉(zhuǎn)義字符串(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)這句注釋掉就可以了。去網(wǎng)上找過,extproc是一個擴展的程序調(diào)用接口協(xié)議,  連接和調(diào)用外部的操作系統(tǒng)程序或進程用時會用到。

          轉(zhuǎn)自:http://blog.csdn.net/chenjuntj2007/archive/2009/07/04/4321640.aspx

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

          //創(chuàng)建臨時表空間

          create temporary tablespace test_temp
          tempfile 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf'
          size 32m
          autoextend on
          next 32m maxsize 2048m
          extent management local;

          //創(chuàng)建數(shù)據(jù)表空間
          create tablespace test_data
          logging
          datafile 'E:\oracle\product\10.2.0\oradata\testserver\test_data01.dbf'
          size 32m
          autoextend on
          next 32m maxsize 2048m
          extent management local;

          //創(chuàng)建用戶并指定表空間
          create user username identified by password
          default tablespace test_data
          temporary tablespace test_temp;

          //給用戶授予權(quán)限

          grant connect,resource to username;

          //以后以該用戶登錄,創(chuàng)建的任何數(shù)據(jù)庫對象都屬于test_temp 和test_data表空間,這就不用在每創(chuàng)建一個對象給其指定表空間了。

          轉(zhuǎn)載:http://virgos.javaeye.com/blog/337976

          posted @ 2009-07-23 10:35 lubaolin 閱讀(364) | 評論 (0)編輯 收藏

          struts2+spring2.x+hibernate3.x 懶加載異常:org.hibernate.LazyInitializationException: failed to lazily initialize

          Hibernate的Lazy初始化1:n關(guān)系時,必須保證是在同一個Session內(nèi)部使用這個關(guān)系集合,不然Hiernate將拋出異常:org.hibernate.LazyInitializationException: failed to lazily initialize of....
          兩種處理方法:
          一、設(shè)置lazy=false,此方法不再累述。
          二、用OpenSessionInViewFilter過濾器,注意hibernateFilter過濾器和struts2過濾器在映射時的先后順序。同時要配置事物處理,否則會導(dǎo)致session處于只讀狀態(tài)而不能做修改、刪除的動作。
          即在web.xml文件中如下配置:
               <!-- Spring ApplicationContext配置文件的加載目錄。 -->  
           <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath*:spring/applicationContext.xml</param-value>
           </context-param>

           <!-- 解決延遲加載的問題 -->
           <filter>
            <filter-name>hibernateFilter</filter-name>
            <filter-class>
             org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
            </filter-class>
           </filter>
           
           <!-- 繼承Struts2的FilterDispatcher類,具備GBK等編碼設(shè)定功能與struts2的action過濾功能。 -->
           <filter>
            <filter-name>struts2</filter-name>
            <filter-class>
             com.iman.nrms.opm.web.common.FilterDispatcher
            </filter-class>
            <init-param>
             <param-name>encoding</param-name>
             <param-value>GBK</param-value>
            </init-param>
           </filter>
           <filter>
                   <filter-name>struts-cleanup</filter-name>
                   <filter-class>
                       org.apache.struts2.dispatcher.ActionContextCleanUp
                   </filter-class>
               </filter>
           
           <filter-mapping>
            <filter-name>hibernateFilter</filter-name>
            <url-pattern>/*</url-pattern>
           </filter-mapping>
           
           <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
           </filter-mapping>
           
           <filter-mapping>
            <filter-name>struts-cleanup</filter-name>
            <url-pattern>/*</url-pattern>
           </filter-mapping>

          Hibernate 允許對關(guān)聯(lián)對象、屬性進行延遲加載,但是必須保證延遲加載的操作限于同一個 Hibernate Session 范圍之內(nèi)進行。如果 Service 層返回一個啟用了延遲加載功能的領(lǐng)域?qū)ο蠼o Web 層,當(dāng) Web 層訪問到那些需要延遲加載的數(shù)據(jù)時,由于加載領(lǐng)域?qū)ο蟮?Hibernate Session 已經(jīng)關(guān)閉,這些導(dǎo)致延遲加載數(shù)據(jù)的訪問異常。而Spring為我們提供的OpenSessionInViewFilter過濾器為我們很好的解決了這個問題。OpenSessionInViewFilter的主要功能是使每個請求過程綁定一個 Hibernate Session,即使最初的事務(wù)已經(jīng)完成了,也可以在 Web 層進行延遲加載的操作。OpenSessionInViewFilter 過濾器將 Hibernate Session 綁定到請求線程中,它將自動被 Spring 的事務(wù)管理器探測到。所以 OpenSessionInViewFilter 適用于 Service 層使用HibernateTransactionManager 或 JtaTransactionManager 進行事務(wù)管理的環(huán)境,也可以用于非事務(wù)只讀的數(shù)據(jù)操作中。
          request-->open session-->打開連接、開始事務(wù)-->持久操作-->渲染(關(guān)閉連接、session)-->response 其中一些過程省略了,不是很關(guān)心。

           

          引自:http://blog.csdn.net/fhwbj/archive/2009/03/25/4022805.aspx

          posted @ 2009-07-03 16:19 lubaolin 閱讀(2661) | 評論 (0)編輯 收藏

          繼續(xù)關(guān)注我的C語言學(xué)習(xí)博客
          主站蜘蛛池模板: 保德县| 康保县| 鲁甸县| 河津市| 南汇区| 四平市| 天等县| 曲阜市| 盖州市| 高要市| 乌鲁木齐县| 肇州县| 嵊泗县| 五华县| 福安市| 农安县| 宝清县| 南平市| 陵川县| 庄浪县| 东莞市| 张家界市| 伊春市| 翼城县| 仁怀市| 广昌县| 新晃| 广东省| 新平| 郑州市| 山丹县| 南陵县| 旬邑县| 科技| 龙川县| 会理县| 乌鲁木齐市| 维西| 灵石县| 石台县| 招远市|