躺在沙灘上的小豬

          快樂的每一天

          #

          Acegi+hibernate 動態(tài)實現(xiàn)基于角色的權(quán)限管理

          http://www.aygfsteel.com/limq/archive/2006/01/19/28585.html

          posted @ 2006-01-19 16:52 martin xus| 編輯 收藏

          wiki語法

               摘要: 喜歡 Confluence 最主要的原因其實是因為我喜歡他強大的wiki語法,今天閑的無事,試著用javascript寫了看看: <html><head>    <title>Demo</title>    <link rel="stylesheet"&...  閱讀全文

          posted @ 2006-01-18 20:21 martin xus| 編輯 收藏

          FreeMarker Quick Start


          和所有的介紹一樣,我們以Hello World開始,在以后所有的例子中,我們采用webwork/xwork作為Controller.

          package cn.martin.freemarker.quickstart.action;

          import com.opensymphony.xwork.ActionSupport;

          /**
           * 
          @author martin
           
          */

          public class HelloAction extends ActionSupport {
              
          private String message;

              
          public String getMessage() {
                  
          return message;
              }


              
          public String execute() throws Exception {
                  
          this.message ="Hello World!";
                  
          return SUCCESS;
              }

          }

          我們的頁面很簡單,只是顯示message
          <html>
          <head>
              
          <title>FreeMarker Quick Start</title>
          </head>

          <body>

          ${message}

          </body>
          </html>
          • ${message}:稱為interpolations,F(xiàn)reeMarker會在輸出時用實際值進行替代,它會按以下的順序查找message變量
            • The value stack
            • The action context
            • Request scope
            • Session scope
            • Application scope
            • Built-in variables

          如果沒有該變量,會拋出異常。

          其他還有

          • FTL標(biāo)記(FreeMarker模板語言標(biāo)記):以<#開頭,我們會在下面用到
          • 注釋:包含在<#-->之間

          配置xwork.xml

          <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
                  "http://www.opensymphony.com/xwork/xwork-1.0.dtd"
          >

          <xwork>
              
          <include file="webwork-default.xml"/>

              
          <package name="default" extends="webwork-default">
                  
          <action name="demo"
                          class
          ="cn.martin.freemarker.quickstart.action.HelloAction">
                      
          <result name="success" type="freemarker">/templates/demo.ftl</result>
                  
          </action>
              
          </package>
          </xwork>

          webwork.properties
          # extension for actions
          webwork.action.extension=

          # spring integration
          #
          webwork.objectFactory=spring
          #
          webwork.objectFactory.spring.autoWire=type

          ### Configuration reloading
          #
           This will cause the configuration to reload xwork.xml when it is changed
          webwork.configuration.xml.reload=true

          ### Load custom default resource bundles
          webwork.custom.i18n.resources=default

          ### character encoding
          webwork.i18n.encoding=UTF-8
          1. 暫時我們用不到spring,沒有必要引人
          2. 至于后綴,個人愛好,我不喜歡那么多的東西,沒有任何后綴.

          工程整體結(jié)構(gòu)如下:

          web.xml

          <?xml version="1.0" encoding="UTF-8"?>

          <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
                  "http://java.sun.com/dtd/web-app_2_3.dtd"
          >
          <web-app>
              
          <filter>
                  
          <filter-name>webwork</filter-name>
                  
          <filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>
              
          </filter>

              
          <filter-mapping>
                  
          <filter-name>webwork</filter-name>
                  
          <url-pattern>/*</url-pattern>
              
          </filter-mapping>

              
          <welcome-file-list>
                  
          <welcome-file>index.html</welcome-file>
                  
          <welcome-file>demo.action</welcome-file>
              
          </welcome-file-list>
              
          <taglib>
                  
          <taglib-uri>webwork</taglib-uri>
                  
          <taglib-location>/WEB-INF/lib/webwork.jar</taglib-location>
              
          </taglib>
          </web-app>

          OK!deploy到server看一下結(jié)果:

          Next:繼續(xù)前進

          我們來將頁面做的更友好一些,用戶輸入姓名,顯示Hello + 用戶名

          <html>
          <head>
              
          <title>FreeMarker Quick Start</title>
          </head>

          <body>

          <#if userName?exists&&userName?has_content>
                 Hello ${userName}!
          </#if>


          <form action="demo" method="post">
              Input your name:
          <input type="text" size="8" name="userName"/>
              
          <input type="submit" value="Get Words"/>
          </form>

          </body>
          </html>

          在該頁面中,我們見到一些奇怪的表達式
          <#if userName?exists&&userName?has_content>
                 Hello $
          {userName}!
          </#if>

          這是FreeMarker的表達式,暫時不管它,先了解一下即可,以后會有專門的介紹.

          1. userName?exists 判斷該變量是否存在
          2. userName?has_content 判斷該變量是否不為null并且不為empty

          修改Action

          package cn.martin.freemarker.quickstart.action;

          import com.opensymphony.xwork.ActionSupport;

          /**
           * 
          @author martin
           
          */

          public class HelloAction extends ActionSupport {
              
          private String userName;

              
          public void setUserName(String userName) {
                  
          this.userName = userName;
              }


              
          public String getUserName() {
                  
          return userName;
              }


              
          public String execute() throws Exception {
                  System.out.println(
          "HelloAction.execute() begin");
                  
          return SUCCESS;
              }

          }

          結(jié)果如下:

          代碼:freemarker.rar 去掉了webwork/xwork/freemarker lib,請自行添上。

          參考:
          xwork:http://www.opensymphony.com/xwork
          webwork:http://www.opensymphony.com/
          freemarker:http://freemarker.org/

          posted @ 2006-01-17 19:12 martin xus| 編輯 收藏

          Python 新站點

          http://beta.python.org/

          好漂亮!

          posted @ 2006-01-12 14:00 martin xus| 編輯 收藏

          Windows Live Messenger Beta 邀請

          http://ideas.live.com/

          Windows Live Messenger Beta 邀請,需要的留msn



           

          posted @ 2006-01-12 09:00 martin xus| 編輯 收藏

          僅列出標(biāo)題
          共28頁: First 上一頁 10 11 12 13 14 15 16 17 18 下一頁 Last 
          主站蜘蛛池模板: 延庆县| 汽车| 拜城县| 大渡口区| 平阴县| 谢通门县| 玉田县| 繁峙县| 哈密市| 青铜峡市| 双柏县| 习水县| 固镇县| 阿坝| 独山县| 海盐县| 海原县| 万州区| 阿拉善盟| 防城港市| 宁国市| 禄丰县| 任丘市| 马鞍山市| 中方县| 日喀则市| 历史| 枝江市| 广南县| 南江县| 甘肃省| 曲水县| 纳雍县| 志丹县| 赞皇县| 理塘县| 醴陵市| 四平市| 东乡族自治县| 新丰县| 常山县|