隨筆 - 119  文章 - 3173  trackbacks - 0
          <2008年10月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          交友莫獨酒,茅臺西鳳游。
          口干古井貢,心徜洋河流。
          稱多情杜康,趟無量雙溝。
          贊中華巍巍,無此不銷愁。

          常用鏈接

          留言簿(68)

          隨筆分類(136)

          隨筆檔案(122)

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 524914
          • 排名 - 93

          最新評論

          最近做了一個ColdFusion的項目,收益頗多。

          其中也碰到了一些bt的需求,結合項目把一些小技巧和大家分享一下(一個0 ColdFusion經驗的菜鳥被趕鴨子上架的搞了幾天心得,如果你認為簡單的可笑歡迎指教,亂噴黨請繞行)

          先來點小菜

          • ColdFusion使用ajax(ColdFusion返回json格式的數據)
          用慣了jquery,直接無視ColdFusion的ajax。既然用jquery,當然希望后臺返回json格式的數據。
          找了一下coldfusion 8已經提供非常方便的api。

          <cfinvoke?component="CsmDashboard"?method="getCsTableSum"?timerange="#timerange#"?
          wherestr
          ="#wherestr#"?returnVariable="tableSum"/>
          <cfscript>
          ????writeOutput(SerializeJSON(#tableSum#));
          </cfscript>
          writeOutput(SerializeJSON(#tableSum#));這句會把查詢結果tableSum序列化成json格式傳給前臺。

          • ColdFusion不自動轉義參數
          PreserveSingleQuotes(name),ColdFusion為了安全,會自動轉義參數中的特殊字符。特殊情況下我們不希望他這樣做,就可以用上面的方法。

          • ColdFusion字符串比較,以XX結尾
          <cfif?Right(ListGetAt(nameList,LoopCount),2)?eq?"sp">
          • 取整 NumberFormat

          • 取list長度 listLen

          • 取list第幾個ListGetAt

          • 查詢結果字段列表 query.columnlis

          • 查詢結果集某個字段的第幾行#query.columnname[i]#

          以上只是為了再來一個大菜:動態列,表格。以下是簡化的代碼

          ?<cfset?nameList?=?"Calls,CALLSP,Duration,......................................................">
          ????

          ????????????
          <CFOUTPUT?query="csmSum">
          ??????????????
          <cfloop?index?=?"LoopCount"?from="1"?to="#ListLen(nameList)#">
          ????????????????
          <cfset?tmp?=NumberFormat(Evaluate("querylist."?&?ListGetAt(nameList,LoopCount)),0.00)>
          ??????????????????
          ????????? <td?class="num">#tmp#</td>
          ??????????????
          </cfloop>
          ????????????
          </CFOUTPUT>

          ColdFusion只能根據一個變量名稱取取查詢結果的字段,沒有根據位置或者字符串取,非常不爽。

          核心就是用Evaluate根據一個字符串去動態構造一個變量,然后根據這個變量取出query中的列。
          個這個字符串可以從一個list里面動態循環取出來再拼湊而成
          而這個list可以從一些地方查詢或者傳遞過來。
          所以表格就動態了起來。





          posted on 2008-10-29 15:49 交口稱贊 閱讀(2338) 評論(0)  編輯  收藏 所屬分類: J2EE & WEB
          主站蜘蛛池模板: 城市| 张家港市| 宁陵县| 大同市| 涿鹿县| 封丘县| 乌兰浩特市| 沁水县| 鄢陵县| 墨竹工卡县| 哈尔滨市| 河池市| 惠水县| 西安市| 攀枝花市| 灵石县| 关岭| 鄂托克前旗| 涡阳县| 枞阳县| 高清| 高雄县| 长寿区| 清新县| 南乐县| 南投市| 汝州市| 辉南县| 清苑县| 澄城县| 团风县| 松桃| 兰考县| 固原市| 新兴县| 商洛市| 奈曼旗| 抚远县| 金门县| 饶平县| 潮州市|