亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Struts2講義28

系統 2146 0

6.2 ? freemarker 視圖技術使用介紹

freemarker velocity 一樣也是一種可以替代 JSP 的視圖技術。而且 Struts2 中對它的支持要比對 velocity 也強大的多。下面就對它進行介紹。

技術要點

本節代碼說明 freemarker Struts2 中使用方式。

freemarker 基本語義和書寫格式說明。

模板文件 ftl 介紹

Struts2 中如何使用 freemarker

演示代碼

顯示數據的 ftl 模板文件代碼:

Java代碼 復制代碼
  1. <!-------------------文件名:show.ftl-------------> ??
  2. <html> ??
  3. ????<head> ??
  4. ????<title>FreeMarker使用范例</title> ??
  5. ????<meta?http-equiv= "content-type" ?content= "text/html;?charset=GB2312" /> ??
  6. ????</head> ??
  7. ? ??
  8. ????<body> ??
  9. ???????<h3?align= "left" > ??
  10. ????????????FreeMarker使用范例 ??
  11. ????????</h3> ??
  12. ???????<h1>裝修材料信息列表</h1> ??
  13. ??????? ??
  14. ????????<table?border> ??
  15. ????????<tr?align= "center" > ??
  16. ??????????<td>材料名</td> ??
  17. ??????????<td>材料價格(單位:元)</td> ??
  18. ??????????<td>材料庫存量(單位:個)</td> ??
  19. ????????</tr> ??
  20. ????????<#list?mList?as?Material> ??
  21. ??????????????<tr?align= "center" > ??
  22. ??????????????????<td>${Material.material}</td> ??
  23. ??????????????????<td>${Material.bid}</td> ??
  24. ??????????????????<td>${Material.mount}</td> ??
  25. ?????????????</tr> ??
  26. ????????</#list> ??
  27. ???????</table> ??
  28. ????</body> ??
  29. </html>??
    <!-------------------文件名:show.ftl------------->
<html>
    <head>
    <title>FreeMarker使用范例</title>
    <meta http-equiv="content-type" content="text/html; charset=GB2312"/>
    </head>
 
    <body>
       <h3 align="left">
            FreeMarker使用范例
        </h3>
       <h1>裝修材料信息列表</h1>
       
        <table border>
        <tr align="center">
          <td>材料名</td>
          <td>材料價格(單位:元)</td>
          <td>材料庫存量(單位:個)</td>
        </tr>
        <#list mList as Material>
              <tr align="center">
                  <td>${Material.material}</td>
                  <td>${Material.bid}</td>
                  <td>${Material.mount}</td>
             </tr>
        </#list>
       </table>
    </body>
</html>
  

?

Action 代碼同 velocity 示例中 Action 代碼,這里就不顯示了。讀者自行閱讀。

配置文件對 Action 的配置內容:

Java代碼 復制代碼
  1. <!-----------文件名:struts.xml-----------> ??
  2. ……… ??
  3. < package ?name= "C06.1" ? extends = "struts-default" > ??
  4. ???????????????????<action?name= "velocity" ??
  5. ???????????????????????????? class = "action.VelocityAction" > ??
  6. ????????????????????????????<result?name= "success" ?type= "freemarker" >/velocity/show.vm</result> ??
  7. ???????????????????</action> ??
  8. </ package >??
    <!-----------文件名:struts.xml----------->
………
<package name="C06.1" extends="struts-default">
                   <action name="velocity"
                            class="action.VelocityAction">
                            <result name="success" type="freemarker">/velocity/show.vm</result>
                   </action>
</package>
  

?

對支持中文字符的字符編碼集設置也如 velocity 示例。示例效果顯示如圖 6.2

Struts2講義28

6.2 ? freemarker 顯示效果圖

代碼解釋

1 )本節示例也是將一些裝修材料用 list 形式顯示在頁面上。只不過現在使用的是 freemarker 。它其實是將 JAVA 代碼中定義好的類,在底層使用 map 類型顯示在頁面上。因此在 ftl 模板中看見的“ # ”標識除了表明控制轉向之外,其他都是 map key 值,而每個 key 值對應的 value 就是 JAVA 中定義的類,這些類有可能是 JavaBean 也有可能像本示例中的材料列表一樣是 list 和其他數據集合類。“ $ ”標識和 velocity 中“ $ ”標識類似是用來標識具體對象或變量。

2 freemarker 模板文件后綴名都是“ ftl ”結尾。它也可以在文件中定義各種各樣的 html 標簽和代碼。不過它要調用 Struts2 的標簽則調用方法要比 vm 文件調用 Struts2 標簽要稍微復雜點。

首先在它的文件頭部使用 assign 來導入 Struts2 的標簽定義。代碼如下:

Java代碼 復制代碼
  1. <#assign?s=JspTagLibs[“/WEB-INF/struts-tags.tld”]/>??
    <#assign s=JspTagLibs[“/WEB-INF/struts-tags.tld”]/>
  

?

另外在每次調用 Struts2 標簽時候前面要加上“ @ ”。

3 )在 Struts2 中使用 freemarker 技術,首先要在項目中導入 freemarker jar 包。 struts.xml 文件中,同樣筆者用黑體注明了 result 的返回類型必須是“ freemarker ”,這樣才可以調用 ftl 模板文件。關于中文字符支持問題的解決方法也如筆者介紹 velocity 的小節中相同。

注意: ftl 文件中對英文字符的大小寫是很敏感的,因此對某些對象和變量的定義時候,請讀者注意大小寫問題。

Struts2講義28


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 一级毛片免费观看久 | 国产视频在线观看福利 | 国产精品所毛片视频 | 一级毛片免费高清视频 | 久久久久久久综合色一本 | 欧美一级欧美三级 | 成人久久伊人精品伊人 | 欧美va亚洲va在线观看蝴蝶网 | 日本精品不卡 | 涩久久| 国产99r视频精品免费观看 | 欧美理论片在线观看 | 欧美 日韩 国产在线 | 国产精品99r8在线观看 | 国产一区二区在线观看视频 | 欧美又黄又嫩大片a级 | 毛片网子 | 日韩精品一区二区三区中文精品 | 奇米影视四色中文字幕 | 亚洲欧美国产高清va在线播放 | 国产精品久久精品福利网站 | 四虎精品影院永久在线播放 | 桃花视频www | 国产观看精品一区二区三区 | 久久激情视频 | 成人a免费α片在线视频网站 | 久久视频免费 | 黄色在线免费看 | 中文字幕一区在线播放 | 四虎影城 | 欧美精品大片 | 成人禁在线观看午夜亚洲 | 性ao爱大片 | 久久久噜久噜久久综合 | 久久www免费人成_看片美女图 | 五月花在线观看播放视频 | 九九精品视频一区二区三区 | 亚洲高清成人欧美动作片 | 午夜精品国产 | 另类图片综合网 | 欧美日韩在线播放一区二区三区 |