隨筆 - 10, 文章 - 0, 評(píng)論 - 7, 引用 - 0
          數(shù)據(jù)加載中……

          2007年5月25日

          關(guān)于appfuse的探討

                項(xiàng)目在緊張的生活中很快就要結(jié)束了,一直以來,都是由于工作的繁忙,沒有時(shí)間去寫自己的blog.這段時(shí)間終于可以稍微閑下來了,覺得應(yīng)該把這一階段的工作總結(jié)一下了,但是拿起鍵盤,思緒卻有些散亂,想寫的很多,卻也不知道怎么來寫,還是慢慢來吧.
             首先說一下整體框架appfuse,它是集成了當(dāng)今最流行的web應(yīng)用框架的更高層次的web開發(fā)框架.也可以說是一個(gè)web開發(fā)的基本平臺(tái),它將當(dāng)前最流行的一些技術(shù),比如hibernate,spring,struts,DBUnit,ant,log4j,xdoclet,sitemesh,velocity,jstl,webwork,等等都集成了進(jìn)來,在國內(nèi)能夠?qū)⑦@些都應(yīng)用進(jìn)來的并不多見.

          待續(xù)....

          posted @ 2007-06-07 23:56 LiuTing 閱讀(251) | 評(píng)論 (0)編輯 收藏

          JS常見函數(shù)

          1.常規(guī)函數(shù)  
            javascript常規(guī)函數(shù)包括以下9個(gè)函數(shù):  
            (1)alert函數(shù):顯示一個(gè)警告對(duì)話框,包括一個(gè)OK按鈕。  
            (2)confirm函數(shù):顯示一個(gè)確認(rèn)對(duì)話框,包括OK、Cancel按鈕。  
            (3)escape函數(shù):將字符轉(zhuǎn)換成Unicode碼。  
            (4)eval函數(shù):計(jì)算表達(dá)式的結(jié)果。  
            (5)isNaN函數(shù):測試是(true)否(false)不是一個(gè)數(shù)字。  
            (6)parseFloat函數(shù):將字符串轉(zhuǎn)換成符點(diǎn)數(shù)字形式。  
            (7)parseInt函數(shù):將符串轉(zhuǎn)換成整數(shù)數(shù)字形式(可指定幾進(jìn)制)。  
            (8)prompt函數(shù):顯示一個(gè)輸入對(duì)話框,提示等待用戶輸入。例如:  
            (9)unescape函數(shù):解碼由escape函數(shù)編碼的字符。  
            2.數(shù)組函數(shù)  
            javascript數(shù)組函數(shù)包括以下4個(gè)函數(shù):  
            (1)join函數(shù):轉(zhuǎn)換并連接數(shù)組中的所有元素為一個(gè)字符串。例:  
           
           程序代碼  
              function JoinDemo()  
              {  
               var a, b;  
               a = new Array(0,1,2,3,4);  
               b = a.join("-");//分隔符  
               return(b);//返回的b=="0-1-2-3-4"  
              }   
             
           (2)langth函數(shù):返回?cái)?shù)組的長度。例:  
                 
           程序代碼  
          function LengthDemo()  
              {  
               var a, l;  
               a = new Array(0,1,2,3,4);  
               l = a.length;  
               return(l);//l==5  
              }   
           
            (3)reverse函數(shù):將數(shù)組元素順序顛倒。例:  
                
           程序代碼  
          function ReverseDemo()  
             {  
              var a, l;  
              a = new Array(0,1,2,3,4);  
              l = a.reverse();  
              return(l);  
             }   
            (4)sort函數(shù):將數(shù)組元素重新排序。例:  
                 
           程序代碼  
          function SortDemo()  
              {  
               var a, l;  
               a = new Array("X" ,"y" ,"d", "Z", "v","m","r");  
               l = a.sort();  
               return(l);  
              }   
            3.日期函數(shù)  
            javascript日期函數(shù)包括以下20個(gè)函數(shù):  
            (1)getDate函數(shù):返回日期的“日”部分,值為1~31。例:  
                
           程序代碼  
          function DateDemo()  
             {  
              var d, s = "Today's date is: ";  
              d = new Date();  
              s += (d.getMonth() + 1) + "/";  
              s += d.getDate() + "/";  
              s += d.getYear();  
              return(s);  
             }   
            (2)getDay函數(shù):返回星期幾,值為0~6,其中0表示星期日,1表示星期一,...,6表示星期六。例:  
                
           程序代碼  
          function DateDemo()  
             {  
              var d, day, x, s = "Today is: ";  
              var x = new Array("Sunday", "Monday", "Tuesday");  
              var x = x.concat("Wednesday","Thursday", "Friday");  
              var x = x.concat("Saturday");  
              d = new Date();  
              day = d.getDay();  
              return(s += x[day]);  
             }   
            (3)getHouse函數(shù):返回日期的“小時(shí)”部分,值為0~23。例。  
                
           程序代碼  
          function TimeDemo()  
             {  
              var d, s = "The current local time is: ";  
              var c = ":";  
              d = new Date();  
              s += d.getHours() + c;  
              s += d.getMinutes() + c;  
              s += d.getSeconds() + c;  
              s += d.getMilliseconds();  
              return(s);  
             }   
            (4)getMinutes函數(shù):返回日期的“分鐘”部分,值為0~59。見上例。  
            (5)getMonth函數(shù):返回日期的“月”部分,值為0~11。其中0表示1月,2表示3月,...,11表示12月。見前面的例子。  
            (6)getSeconds函數(shù):返回日期的“秒”部分,值為0~59。見前面的例子。  
            (7)getTime函數(shù):返回系統(tǒng)時(shí)間。  
                
           程序代碼  
          function GetTimeTest()  
             {  
              var d, s, t;  
              var MinMilli = 1000 * 60;  
              var HrMilli = MinMilli * 60;  
              var DyMilli = HrMilli * 24;  
              d = new Date();  
              t = d.getTime();  
              s = "It's been " 
              s += Math.round(t / DyMilli) + " days since 1/1/70";  
              return(s);  
             }   
            (8)getTimezoneOffset函數(shù):返回此地區(qū)的時(shí)差(當(dāng)?shù)貢r(shí)間與GMT格林威治標(biāo)準(zhǔn)時(shí)間的地區(qū)時(shí)差),單位為分鐘。  
                
           程序代碼  
          function TZDemo()  
             {  
              var d, tz, s = "The current local time is ";  
              d = new Date();  
              tz = d.getTimezoneOffset();  
           
              if (tz 的鏈接點(diǎn)的名稱,另一個(gè)函數(shù)link設(shè)定的URL地址。  
            (2)big函數(shù):將字體加到一號(hào),與...標(biāo)簽結(jié)果相同。  
            (3)blink函數(shù):使字符串閃爍,與...標(biāo)簽結(jié)果相同。  
            (4)bold函數(shù):使字體加粗,與...標(biāo)簽結(jié)果相同。  
            (5)charAt函數(shù):返回字符串中指定的某個(gè)字符。  
            (6)fixed函數(shù):將字體設(shè)定為固定寬度字體,與...標(biāo)簽結(jié)果相同。  
            (7)fontcolor函數(shù):設(shè)定字體顏色,與標(biāo)簽結(jié)果相同。  
            (8)fontsize函數(shù):設(shè)定字體大小,與標(biāo)簽結(jié)果相同。  
            (9)indexOf函數(shù):返回字符串中第一個(gè)查找到的下標(biāo)index,從左邊開始查找。  
            (10)italics函數(shù):使字體成為斜體字,與...標(biāo)簽結(jié)果相同。  
            (11)lastIndexOf函數(shù):返回字符串中第一個(gè)查找到的下標(biāo)index,從右邊開始查找。  
            (12)length函數(shù):返回字符串的長度。(不用帶括號(hào))  
            (13)link函數(shù):產(chǎn)生一個(gè)超級(jí)鏈接,相當(dāng)于設(shè)定的URL地址。  
            (14)small函數(shù):將字體減小一號(hào),與...標(biāo)簽結(jié)果相同。  
            (15)strike函數(shù):在文本的中間加一條橫線,與...標(biāo)簽結(jié)果相同。  
            (16)sub函數(shù):顯示字符串為下標(biāo)字(subscript)。  
            (17)substring函數(shù):返回字符串中指定的幾個(gè)字符。  
            (18)sup函數(shù):顯示字符串為上標(biāo)字(superscript)。  
            (19)toLowerCase函數(shù):將字符串轉(zhuǎn)換為小寫。  
            (20)toUpperCase函數(shù):將字符串轉(zhuǎn)換為大寫。  
           
          //校驗(yàn)是否全由數(shù)字組成  
           
           程序代碼  
          function isDigit(s)  
          {  
          var patrn=/^[0-9]{1,20}$/;  
          if (!patrn.exec(s)) return false 
          return true 
          }  
           
          //校驗(yàn)登錄名:只能輸入5-20個(gè)以字母開頭、可帶數(shù)字、“_”、“.”的字串  
           
           程序代碼  
          function isRegisterUserName(s)  
          {  
          var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;  
          if (!patrn.exec(s)) return false 
          return true 
          }  
           
          //校驗(yàn)用戶姓名:只能輸入1-30個(gè)以字母開頭的字串  
           
           程序代碼  
          function isTrueName(s)  
          {  
          var patrn=/^[a-zA-Z]{1,30}$/;  
          if (!patrn.exec(s)) return false 
          return true 
          }  
           
          //校驗(yàn)密碼:只能輸入6-20個(gè)字母、數(shù)字、下劃線  
           
           程序代碼  
          function isPasswd(s)  
          {  
          var patrn=/^(\w){6,20}$/;  
          if (!patrn.exec(s)) return false 
          return true 
          }  
           
          //校驗(yàn)普通電話、傳真號(hào)碼:可以“+”開頭,除數(shù)字外,可含有“-”  
           
           程序代碼  
          function isTel(s)  
          {  
          //var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;  
          var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;  
          if (!patrn.exec(s)) return false 
          return true 
          }  
           
          //校驗(yàn)手機(jī)號(hào)碼:必須以數(shù)字開頭,除數(shù)字外,可含有“-”  
           
           程序代碼  
          function isMobil(s)  
          {  
          var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;  
          if (!patrn.exec(s)) return false 
          return true 
          }  
           
          //校驗(yàn)郵政編碼  
           
           程序代碼  
          function isPostalCode(s)  
          {  
          //var patrn=/^[a-zA-Z0-9]{3,12}$/;  
          var patrn=/^[a-zA-Z0-9 ]{3,12}$/;  
          if (!patrn.exec(s)) return false 
          return true 
          }  
           
          //校驗(yàn)搜索關(guān)鍵字  
           
           程序代碼  
          function isSearch(s)  
          {  
          var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;\'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\'\,.<>?]{0,19}$/;  
          if (!patrn.exec(s)) return false 
          return true 
          }  
           
           程序代碼  
          function isIP(s) //by zergling  
          {  
          var patrn=/^[0-9.]{1,20}$/;  
          if (!patrn.exec(s)) return false 
          return true 
          }  

          posted @ 2007-05-29 18:03 LiuTing 閱讀(300) | 評(píng)論 (0)編輯 收藏

          DISPALYTAG的用法

          1) Caption指標(biāo)題
          2) name:數(shù)據(jù)源
          3) defaultsort:排序列,一般不需要
          4) defaultorder:排序方式
          5) class:表格顯示的樣式
          6) varTotals:需要統(tǒng)計(jì)(總計(jì))
          7) decorator="totals":表示使用指定的decorator。現(xiàn)在僅在同時(shí)使用小計(jì)、合計(jì)時(shí)用到,自己也可以定制。
          8) <display:column 部分:
            property指數(shù)據(jù)中的列名
            title指顯示的標(biāo)題
            format指數(shù)據(jù)的格式化樣式,
            total表示該字段是否需要作統(tǒng)計(jì)。
            style="width:20%"可以設(shè)置寬度。
            也可以用
            <display:column title="請(qǐng)假時(shí)間">
            <fmt:formatDate value="${currentRowObject.QJSJ}" pattern="yyyy-MM-dd"/>
            </display:column>表現(xiàn)。
            group="1"表示進(jìn)行g(shù)roup的字段。
          9) 在表格中建立一個(gè)連接:
            <display:column title="部別">
            <a href="<c:out value="${pageContext.request.contextPath}"/>
            /holidayDefaultSearchStatView.do?type=
            <c:out value="${currentRowObject.CJDM}"/>&SYD=
            <c:out value="${currentRowObject.DWDM}"/>" target="_blank">
            <c:out value="${currentRowObject.DWMC}"/>
            </a>
            </display:column>
          10) 由于該tag只有合計(jì)時(shí),沒有合計(jì)那一列,所以實(shí)現(xiàn)的時(shí)候以<display:footer>實(shí)現(xiàn)。
            可以通過totalMap對(duì)象獲取合計(jì)的數(shù)據(jù),如totalMap.colomn1獲取合計(jì)的第一列數(shù)值。
          11) 標(biāo)題頭不顯示<display:setProperty name="basic.show.header" value="false" />
          12) 自己定制表頭:<display:caption>
             使用decorator:
             <jsp:scriptlet>
             org.displaytag.decorator.TotalTableDecorator totals =
             new org.displaytag.decorator.TotalTableDecorator();
                 totals.setTotalLabel("合計(jì)");
                 totals.setSubtotalLabel("小計(jì)");
                 pageContext.setAttribute("totals", totals);
             </jsp:scriptlet>
          實(shí)例:
          <display:caption>這是表標(biāo)題</display:caption>
           <display:table
            name="${model.rowToColumnStatResult}" defaultsort="1"
            class="simple" defaultorder="ascending" varTotals="totalMap">
            <display:column property="GCWZ" title="部門"/>
             <c:forEach items="${model.YList.YList}" var="yColumn">
             <c:forEach items="${model.rowToColumnStatResult[0]}"
                var="mapEntry">
              <c:if test="${mapEntry.key == yColumn}">
               <th>
                 <display:column property="${mapEntry.key}"
                 title="${mapEntry.key}"
                 format="{0,number,####.##}" total="true"/>
               </th>
              </c:if>
             </c:forEach>
             </c:forEach>
            <display:column property="小計(jì)"
                title="小計(jì)"
                format="{0,number,####.##}" total="true"/>
           <display:footer>
           <tr>
            <td>總計(jì)</td>
            <c:forEach items="${model.YList.YColumn}" var="yColumn">
            <td><fmt:formatNumber value="${totalMap[yColumn]}"
                  pattern="####.##"/>
            </td>
            </c:forEach>
           </tr>
           </display:footer>
          </display:table>
           

          另外一個(gè)例子:
          <display:table name="${model.statResult}" class="simple"
           varTotals="totalMap">
           <display:column property="XMMC" title="項(xiàng)目名稱" />
           <display:column property="KSRQ" title="開始日期" />
           <display:column property="FZRXM" title="負(fù)責(zé)人姓名" />
           <display:column property="GKDW" title="掛靠單位" />
           <display:column property="JFLY" title="經(jīng)費(fèi)來源" />
           <display:column property="XMZJF" title="項(xiàng)目總經(jīng)費(fèi)" total="true" />
           <display:column property="DNDKJF" title="當(dāng)年到款經(jīng)費(fèi)" total="true"/>
           <display:footer>
            <tr><td colspan="5">總計(jì)</td>
             <td>
              <fmt:formatNumber value="${totalMap.column6}"
               pattern="####.####" />
             </td>
             <td>
              <fmt:formatNumber value="${totalMap.column7}"
               pattern="####.####" />
             </td>
            </tr>
           </display:footer>
          </display:table>
          總計(jì)某一列的方法:
          ${totalMap.column?}    ?為該列號(hào)
          colspan="5":表示這個(gè)單元格占5個(gè)單元格
          項(xiàng)目名稱 開始日期  負(fù)責(zé)人姓名 掛靠單位 經(jīng)費(fèi)來源 項(xiàng)目總經(jīng)費(fèi) 當(dāng)年到款經(jīng)費(fèi)
                                                             531      400
                                                             151       10
          -------------------------------------
          總計(jì)                              682     500 

          posted @ 2007-05-25 10:42 LiuTing 閱讀(760) | 評(píng)論 (0)編輯 收藏

          主站蜘蛛池模板: 左云县| 灵川县| 布拖县| 饶河县| 永定县| 沁水县| 潍坊市| 黎平县| 贵溪市| 平和县| 安丘市| 湖北省| 南宁市| 霍城县| 虹口区| 隆尧县| 行唐县| 泾源县| 阿合奇县| 新巴尔虎左旗| 建始县| 宁德市| 西城区| 镇巴县| 沙洋县| 将乐县| 肥乡县| 潢川县| 克拉玛依市| 合川市| 太谷县| 佛山市| 泰来县| 乐业县| 西充县| 康马县| 沧源| 彰化县| 太仆寺旗| 赤壁市| 莱州市|