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

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

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

        Struts是一個非常流行并被許多企業級應用程序采用的WEB框架,Struts2在Struts1.x的基礎上進行了大量改造,和WebWork合二為一,引進了更多的新觀念、新思想和新技術,使之更符合J2EE應用程序開發的需要。

    學一門新技術時,第一個應用程序非常重要,本文簡單介紹了下struts2寫了一個hello world程序,并有部分講解希望能夠給struts愛好者提供一點點幫助

    struts2與struts1.x有很大差異,struts2的配置文件為struts.xml相當于struts1中的struts-config.xml文件 其次放的位置也不同 struts.xml放在項目的src下面使用myeclipse發布的時候會自動復制到classes下面
    struts.xml代碼

    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
        
    <package name="com.struts2.demo" extends="struts-default">
            
    <action name="Hello" class="com.struts2.demo.Hello">
                
    <result>/index.jsp</result>
            
    </action>
        
    <!-- Add your actions here -->
        
    </package>
    </struts>

    將Struts2所帶的過濾器org.apache.struts2.dispatcher.FilterDispatcher配置到工程的web.xml文件中,默認情況下,該過濾器攔截請求字符串中以.action結尾的請求,并將該請求委托給指定的Action進行處理。最直觀的表現就是調用Action的execute()方法。代碼如下
    <filter> 
          
    <filter-name>struts2</filter-name> 
          
    <filter-class> 
            org.apache.struts2.dispatcher.FilterDispatcher 
          
    </filter-class> 
      
    </filter> 
      
    <filter-mapping> 
          
    <filter-name>struts2</filter-name> 
          
    <url-pattern>/*</url-pattern> 
      </filter-mapping> 
    我們的java文件 相當于使用struts1的action 但這里是繼承了ActionSupport 是webwork中的類
    package com.struts2.demo;

    import com.opensymphony.xwork2.ActionSupport;

    public class Hello extends ActionSupport{

        
        
    private String message;

        
    public void setMessage(String message){
            
    this.message = message;
        }
        
    public String getMessage(){
            
    return message;
        }
        
        
    public String execute() throws Exception{
            setMessage(
    "Hello my first Struts2 demo");
            
    return SUCCESS;
        }

        
    }

    注:ActionSupport是Struts2提供的類,功能類似于Struts1.x中的Action類,該類封裝了幾個有用的功能,比如:
    getText():從資源文件中獲取國際化消息。
    addFieldError():驗證輸入未通過時添加錯誤消息,支持國際化。
    execute():該方法一般會被重寫,當客戶端向Action發送請求時,會調用此方法。

    標簽名稱 說明
    include 包含其他xml文件,在示例中,這意味著struts.xml可以訪問定義在struts-default.xml文件中的組件。

    該元素可以使得Struts2定義多個配置文件,“分而治之”。

    要注意的是,任何一個struts2配置文件都應該和struts.xml有相同的格式,包括doctype,并且可以放在類路徑下的任何地方。
    package 為Action或截攔器分組。

    name:名稱,必填項,名稱自定義,沒特別要求。方便別的package引用。
    extends:package能繼承其他的package,即通過該屬性實現,值為另一個package的name。

    在示例中,extends =”struts-default”是從struts-default.xml中繼承的。
    action 定義Action,name屬性為訪問時用到的名稱,class屬性是Action的類名。
    result 根據Action的返回值定義頁面導航。

    Action的預定義的返回值有:
    String SUCCESS = "success";
    String NONE    = "none";
    String ERROR   = "error";
    String INPUT   = "input";
    String LOGIN   = "login";

    比如,當Action返回SUCCESS時希望轉到index.jsp頁面,則可以這樣寫:
    <result name=”success”>index.jsp</result>
        其中,name的缺省為success。

    返回的頁面代碼
    <%@ taglib prefix="s" uri="/struts-tags" %>

    <html>
        
    <head>
            
    <title>Hello World!</title>
        
    </head>
        
    <body>
            
    <h2><s:property value="message" /></h2>
        
    </body>
    </html>


    最后訪問http://127.0.0.1:8081/Hello.action 可能和你建的項目路徑不同

    這樣就完成了一個hello world程序

    還在學習中 如果有好的資料希望可以分享一下 最后還是希望可以提出寶貴意見
    posted on 2007-12-11 12:34 LifeNote 閱讀(1736) 評論(0)  編輯  收藏 所屬分類: Javastruts
     
    主站蜘蛛池模板: 13小箩利洗澡无码视频网站免费| 日本免费一区二区三区四区五六区| 两个人看的www免费高清| 日本高清免费aaaaa大片视频| 亚洲白色白色在线播放| 最近新韩国日本免费观看| 亚洲欧洲日韩国产综合在线二区| 99久久免费国产精品热| 亚洲乱码精品久久久久..| 精品无码一级毛片免费视频观看| 亚洲黄片手机免费观看| 国产精品hd免费观看| 亚洲啪啪AV无码片| 97人妻精品全国免费视频| 国产亚洲精品影视在线| 国产大片91精品免费看3| 美景之屋4在线未删减免费 | 成人毛片免费在线观看| 亚洲综合无码一区二区痴汉| 日本阿v免费费视频完整版| 香蕉视频在线观看免费| 亚洲精品乱码久久久久66| 成年女人免费视频播放77777| 中文字幕乱理片免费完整的| 国产亚洲精品成人AA片| 亚洲国产精品高清久久久| 免费无码中文字幕A级毛片| 美女扒开屁股让男人桶爽免费| 老汉色老汉首页a亚洲| 久久久久久国产精品免费免费| 亚洲妇女无套内射精| 亚洲?V乱码久久精品蜜桃| 三上悠亚在线观看免费| 亚洲国产av玩弄放荡人妇| 亚洲色偷偷偷网站色偷一区| 免费涩涩在线视频网| CAOPORM国产精品视频免费| 亚洲最大天堂无码精品区| 亚洲va在线va天堂va888www| 最近中文字幕免费mv视频8| 免费无码又爽又刺激高潮视频|