隨筆 - 55  文章 - 187  trackbacks - 0
          <2009年12月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(12)

          隨筆分類

          隨筆檔案

          groovy

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          工程目錄


          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>

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

              
          <!-- 第二 sitemesh的過濾器,同時(shí)也整合了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標(biāo)簽,使用方式:<#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后不會(huì)丟失 
          -->
                  
          <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插件,實(shí)現(xiàn)約定大于配置的零配置文件風(fēng)格.
                         特殊的Result路徑在Action類中使用@Result設(shè)定. 
              
          -->
          </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 大衛(wèi) 閱讀(3300) 評(píng)論(4)  編輯  收藏 所屬分類: Java

          FeedBack:
          # re: myAndroid(Struts2+Sitemesh+Freemarker) 2009-11-30 15:48 CoderDream
          不錯(cuò),感謝分享!  回復(fù)  更多評(píng)論
            
          # re: myAndroid(Struts2+Sitemesh+Freemarker) 2009-12-01 12:15 創(chuàng)意禮物創(chuàng)意禮品
          謝謝!網(wǎng)上找了好久終于找到了。。。  回復(fù)  更多評(píng)論
            
          # re: myAndroid(Struts2+Sitemesh+Freemarker) 2009-12-02 11:18 apple.shan
          跟android有什么關(guān)系?  回復(fù)  更多評(píng)論
            
          # re: myAndroid(Struts2+Sitemesh+Freemarker) 2009-12-02 12:24 大衛(wèi)
          @apple.shan
          沒關(guān)系,隨便起的名字。  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 新平| 五家渠市| 灵石县| 互助| 无棣县| 万山特区| 格尔木市| 资源县| 棋牌| 襄城县| 会同县| 长沙市| 改则县| 西充县| 临颍县| 阿克陶县| 达孜县| 德保县| 铜山县| 保山市| 商水县| 陇西县| 祁门县| 郧西县| 囊谦县| 太保市| 兴和县| 浮梁县| 荆州市| 东莞市| 荔波县| 海宁市| 景德镇市| 全州县| 峨眉山市| 丹巴县| 涟水县| 马鞍山市| 太仓市| 凤城市| 石家庄市|