隨筆 - 55  文章 - 187  trackbacks - 0
          <2009年11月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(12)

          隨筆分類

          隨筆檔案

          groovy

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          工程目錄


          web.xml
          <?xml version="1.0" encoding="UTF-8"?>
          <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xmlns
          ="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
              xsi:schemaLocation
          ="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
              id
          ="WebApp_ID" version="2.5">
              
          <display-name>android</display-name>
              
          <welcome-file-list>
                  
          <welcome-file>index.html</welcome-file>
                  
          <welcome-file>index.htm</welcome-file>
                  
          <welcome-file>index.jsp</welcome-file>
                  
          <welcome-file>default.html</welcome-file>
                  
          <welcome-file>default.htm</welcome-file>
                  
          <welcome-file>default.jsp</welcome-file>
              
          </welcome-file-list>

              
          <!-- 第一 這個過濾器與Struts的核心過濾器協同工作,以便更容易與sitemesh整合 -->
              
          <filter>
                  
          <filter-name>struts-cleanup</filter-name>
                  
          <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
              
          </filter>

              
          <!-- 第二 sitemesh的過濾器,同時也整合了Freemarker -->
              
          <filter>
                  
          <filter-name>sitemesh</filter-name>
                  
          <filter-class>org.apache.struts2.sitemesh.FreeMarkerPageFilter</filter-class>
              
          </filter>

              
          <!-- 第三 struts2過濾器 -->
              
          <filter>
                  
          <filter-name>struts2Filter</filter-name>
                  
          <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
              
          </filter>


              
          <filter-mapping>
                  
          <filter-name>struts-cleanup</filter-name>
                  
          <url-pattern>/*</url-pattern>
              
          </filter-mapping>
              
          <filter-mapping>
                  
          <filter-name>sitemesh</filter-name>
                  
          <url-pattern>/*</url-pattern>
              
          </filter-mapping>
              
          <filter-mapping>
                  
          <filter-name>struts2Filter</filter-name>
                  
          <url-pattern>/*</url-pattern>
              
          </filter-mapping>

              
          <!--
                  使FreeMarker模塊能夠使用strut2標簽,使用方式:<#assign
                  s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
              
          -->
              
          <servlet>
                  
          <servlet-name>JspSupportservlet</servlet-name>
                  
          <servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
                  
          <load-on-startup>1</load-on-startup>
              
          </servlet>

              
          <servlet>
                  
          <servlet-name>sitemesh-freemarker</servlet-name>
                  
          <servlet-class>com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet</servlet-class>
                  
          <init-param>
                      
          <param-name>TemplatePath</param-name>
                      
          <param-value>/</param-value>
                  
          </init-param>
                  
          <init-param>
                      
          <param-name>default_encoding</param-name>
                      
          <param-value>UTF-8</param-value>
                  
          </init-param>
                  
          <load-on-startup>1</load-on-startup>
              
          </servlet>

              
          <servlet-mapping>
                  
          <servlet-name>sitemesh-freemarker</servlet-name>
                  
          <url-pattern>/*</url-pattern>
              
          </servlet-mapping>

          </web-app>

          struts.xml
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
                  "http://struts.apache.org/dtds/struts-2.1.dtd"
          >
          <struts>
              
          <constant name="struts.convention.default.parent.package" value="crud-default" />
              
          <constant name="struts.convention.package.locators" value="action" />
              
          <constant name="struts.convention.package.locators.basePackage" value="org.david.android" />
              
          <constant name="struts.convention.result.path" value="/WEB-INF/web" />

              
          <!-- 用于CRUD Action的parent package -->
              
          <package name="crud-default" extends="convention-default">
                  
          <!-- 基于paramsPrepareParamsStack,
                      增加store interceptor保證actionMessage在redirect后不會丟失 
          -->
                  
          <interceptors>
                      
          <interceptor-stack name="crudStack">
                          
          <interceptor-ref name="store">
                              
          <param name="operationMode">AUTOMATIC</param>
                          
          </interceptor-ref>
                          
          <interceptor-ref name="paramsPrepareParamsStack" />
                      
          </interceptor-stack>
                  
          </interceptors>

                  
          <default-interceptor-ref name="crudStack" />
              
          </package>

              
          <!-- 
                  使用Convention插件,實現約定大于配置的零配置文件風格.
                         特殊的Result路徑在Action類中使用@Result設定. 
              
          -->
          </struts>

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

          <decorators defaultdir="/WEB-INF/decorators">
              
          <decorator name="main" page="main.ftl">
                  
          <pattern>/*</pattern>
              
          </decorator>
          </decorators>

          HelloWorldAction.java
          package org.david.android.action.user;


          public class HelloWorldAction {
              
          private String message;
              
          public String getMessage() {
                  
          return message;
              }
              
              
          public void setMessage(String message) {
                  
          this.message = message;
              }
              
              
          public String execute(){
                  
          this.message = "ITdavid";
                  
          return "success";
              }
          }

          main.ftl
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
          <title>${title}</title>
          </head>
          <body>
          <div>
          hello
          ${body}
          </body>
          </html>

          hello-world.ftl
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          <meta name="layout" content="main"/>
          <title>Insert title here</title>
          </head>
          <body>
              Hello ${message!}
          </body>
          </html>


          posted on 2009-11-29 17:05 大衛 閱讀(3298) 評論(4)  編輯  收藏 所屬分類: Java

          FeedBack:
          # re: myAndroid(Struts2+Sitemesh+Freemarker) 2009-11-30 15:48 CoderDream
          不錯,感謝分享!  回復  更多評論
            
          # re: myAndroid(Struts2+Sitemesh+Freemarker) 2009-12-01 12:15 創意禮物創意禮品
          謝謝!網上找了好久終于找到了。。。  回復  更多評論
            
          # re: myAndroid(Struts2+Sitemesh+Freemarker) 2009-12-02 11:18 apple.shan
          跟android有什么關系?  回復  更多評論
            
          # re: myAndroid(Struts2+Sitemesh+Freemarker) 2009-12-02 12:24 大衛
          @apple.shan
          沒關系,隨便起的名字。  回復  更多評論
            
          主站蜘蛛池模板: 沙湾县| 大宁县| 略阳县| 金秀| 廊坊市| 临澧县| 永川市| 安顺市| 三原县| 聂荣县| 宁陕县| 隆安县| 无锡市| 元氏县| 永平县| 海城市| 贵州省| 敖汉旗| 修武县| 土默特右旗| 临夏市| 乐山市| 行唐县| 溆浦县| 同仁县| 常州市| 扶沟县| 宕昌县| 湟源县| 香港 | 乐山市| 河源市| 宣威市| 堆龙德庆县| 印江| 甘泉县| 炎陵县| 宜章县| 连江县| 云和县| 万全县|