欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Struts2講義28

系統 1984 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條評論
主站蜘蛛池模板: 九九热视频这里只有精品 | 欧美精选在线 | 狠狠添| 国产a久久精品一区二区三区 | 欧美一级艳片视频免费观看 | 日韩专区中文字幕 | 92午夜剧场 | 亚洲性后网 | 国产a久久精品一区二区三区 | 久久久久免费视频 | 新白娘子传奇50集免费赵雅芝版 | 国产精品久久久久久中文字 | 色3344| 国产精品久久久久久久久久 | 一区二区高清视频 | 国产精品视频分类 | 九九福利影院 | 日本不卡免费一区 | 999热在线精品观看全部 | 天堂最新在线资源 | 成人网18网站 | 国产一区二区久久 | 欧美性黑人极品 hd 无码一区二区三区曰本A片 | 国产色情A片国语露对白 | av在线在线 | 国产成人精品高清在线观看99 | 亚洲视频国产一区 | 午夜精品久久久久久99热7777 | 日本黄色小视频在线观看 | 四虎福利 | 成人午夜精品 | 中文二区 | av免费网站在线观看 | 草草视频手机在线观看视频 | 三级a做爰大乳在线观看 | 污视频导航 | 国产日韩欧美精品 | 波多野结衣高清在线播放 | 久久精品伊人网 | 日本高清免费zzzzzzzz | 国产一区二 |