<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

    常用鏈接

    留言簿(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è)過(guò)濾器與Struts的核心過(guò)濾器協(xié)同工作,以便更容易與sitemesh整合 -->
        
    <filter>
            
    <filter-name>struts-cleanup</filter-name>
            
    <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
        
    </filter>

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

        
    <!-- 第三 struts2過(guò)濾器 -->
        
    <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) 閱讀(3295) 評(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
    沒(méi)關(guān)系,隨便起的名字。  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 日韩在线免费看网站| 国产亚洲综合久久| 91大神亚洲影视在线| 亚洲国产精品福利片在线观看 | 黄色三级三级免费看| 色欲色欲天天天www亚洲伊| 亚洲夂夂婷婷色拍WW47| 亚洲国产成人久久一区二区三区| 亚洲国产精品成人午夜在线观看| 亚洲日韩国产一区二区三区在线 | 国产亚洲综合网曝门系列| 国产成人精品日本亚洲专区61 | 精品免费久久久久久成人影院| 成年女人午夜毛片免费视频| 好爽…又高潮了毛片免费看| 全免费a级毛片免费**视频| 青青青青青青久久久免费观看| 国产伦精品一区二区三区免费迷| 亚洲AV中文无码乱人伦在线视色| 亚洲人成网站在线观看青青| 亚洲色成人WWW永久网站| 亚洲电影中文字幕| 亚洲成a人不卡在线观看| 亚洲AV成人影视在线观看| 国产高清免费观看| 亚洲日韩在线观看| 亚洲爆乳精品无码一区二区三区| 久久亚洲日韩精品一区二区三区| 亚洲中文字幕人成乱码| 亚洲av无码一区二区三区不卡 | 国产AV无码专区亚洲Av| 亚洲日韩中文字幕| 亚洲欧洲无卡二区视頻| 免费人成在线观看播放a| 免费观看成人久久网免费观看| 成年人网站免费视频| 免费无码又爽又刺激高潮| 中文字幕第13亚洲另类| 国产在线ts人妖免费视频| 红杏亚洲影院一区二区三区| 亚洲视频在线观看不卡|