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

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

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

    隨筆-34  評論-1965  文章-0  trackbacks-0

    Struts作為MVC 2的Web框架,自推出以來不斷受到開發者的追捧,得到用廣泛的應用。作為最成功的Web框架,Struts自然擁有眾多的優點:

    • MVC 2模型的使用
    • 功能齊全的標志庫(Tag Library)
    • 開放源代碼

    但是,所謂“金無赤金,人無完人”,Struts自身也有不少的缺點:

    • 需要編寫的代碼過多,容易引起“類爆炸”
    • 單元測試困難

    這些缺點隨著Web的發展越來越明顯。這就促生了Struts 2.0,它的誕生能很好的解決上述問題。 好啦,廢話就不多說了,現在就讓我們感受一下的Struts 2.0的魅力吧。

    1. 搭建開發和運行環境
      1. 到Apache下載Struts 2.0包

      2. 打開Eclipse 3.2新建Web工程

        點擊菜單File\New\Project,出現如圖1所示對話框
        圖1 新建工程對話框
        圖1 新建工程對話框
        選擇Web\Dynamic Web Project,點擊“Next”,出現圖2對話框

        圖2 新建動態Web工程對話框
        圖2 新建動態Web工程對話框
        在“Project Name”中鍵入Struts2_HelloWorld,點擊“New”,出現以下對話框

        圖3 新建服務器運行時對話框
        圖3 新建服務器運行時對話框
        選擇“Apache\Apache Tomat v5.5”,點擊“Next”,出現以下對話框

        圖4新建服務器運行時對話框
        圖4新建服務器運行時對話框
        點擊“Finish”,關閉對話框。

      3. 將Struts 2.0 lib下的jar文件加到工程的構建路徑(build path)

        圖5 Struts 2.0的lib目錄
        圖5 Struts 2.0的lib目錄
        按ctr+a全選,復制,再轉到Eclipse窗口,在“Project Explorer”子窗口中選中Struts2_HelloWorld\WebContent\WEB-INF\lib,然后粘貼。經過Eclipse自動刷新“Project Explorer”子窗口,剛才所粘貼的jar文件應該會出現在Struts2_HelloWorld\Java Resources: src\Libraries\Web App Libraries下,如圖6所示:

        圖6 Project Explorer子窗口
        圖6 Project Explorer子窗口

      4. 打開web.xml文件,將其修改為以下代碼:
        <?xml?version="1.0"?encoding="ISO-8859-1"?>
        <!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>
        ????
        <display-name>Struts?2.0?Hello?World</display-name>
        ????
        <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>
        ????
        <welcome-file-list>
        ????????
        <welcome-file>index.html</welcome-file>
        ????
        </welcome-file-list>
        </web-app>

      5. 新建struts.xml文件

        右鍵點擊,Struts2_HelloWorld\Java Resources: src,出現如圖7所示菜單
        圖7 新建Other菜單
        圖7 新建Other菜單
        點擊“Other”,出現新建對話框,如圖8所示

        圖8 新建對話框
        圖8 新建對話框
        點擊“Next”,出現新建文件對話框,如圖9所示

        圖9 新建文件對話框
        圖9 新建文件對話框
        在“File name”中鍵入sturts.xml,點擊“Finish”,然后將struts.xml的內容修改為:

        <!DOCTYPE?struts?PUBLIC
        ????????"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.0//EN"
        ????????"http://struts.apache.org/dtds/struts-2.0.dtd"
        >
        <struts>
        ????
        <include?file="struts-default.xml"/>
        </struts>

      6. 新建index.html文件

        右鍵點擊Struts2_HelloWorld\WebContent,出現如圖10所示的菜單
        圖10 新建Other菜單
        圖10 新建Other菜單
        點擊“Other”,出現新建對話框,如圖11所示

        圖11 新建對話框
        圖11 新建對話框
        選擇Web\HTML,點擊“Next”出現如圖12所示的對話框

        圖12 新建HTML頁面對話框
        圖12 新建HTML頁面對話框
        在“File Name”中鍵入index.html,點擊“Next”,出現如圖13所示的對話框

        圖13 模板選擇對話框
        圖13 模板選擇對話框
        點擊“Finish”,將index.html的內容修改為以下內容:

        <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
        <html>
        <head>
        <meta?http-equiv="Content-Type"?content="text/html;?charset=UTF-8">
        <title>Hello?World</title>
        </head>
        <body>
        <h3>Hello?World!</h3>
        </body>
        </html>

      7. 將應用程序打包到tomcat上

        右鍵點擊Struts_HelloWorld,出現如圖14所示的菜單
        圖14 工程菜單
        圖14 工程菜單
        點擊“Export\WAR file”,出現如圖15所示的對話框

        圖15 輸出對話框
        圖15 輸出對話框
        選擇“Web\WAR file”,點擊“Next”,出現如圖16所示的對話框

        圖16 輸出路徑對話框
        圖16 輸出路徑對話框
        輸入war文件的路徑(如%tomcat%\webapps\Struts2_HelloWorld.war),點擊“Finish”關閉對話框。

      8. 啟動tomcat,運行應用程序

        打開你的Internet Explorer,鍵入http://localhost:8080/Struts2_HelloWorld/,窗口輸出如圖17所示
        圖17 Hello World窗口
        圖17 Hello World窗口

    2. 第一個Struts 2.0應用程序——Hello World
      1. 新建類包(package)

        右鍵點擊Struts2_HelloWorld\Java Resources: src,出現如圖18所示菜單
        圖18 新建菜單
        圖18 新建菜單"
        點擊“New\Package”,出現如圖19所示對話框

        圖19新建Java類包對話框
        圖19新建Java類包對話框
        在“Name”鍵入tutorial,點擊“Finish”關閉對話框。

      2. 新建HelloWorld.java文件

        右鍵點擊Struts2_HelloWorld\Java Resources: src\tutorial,出現如圖20所示菜單
        圖20 新建菜單
        圖20 新建菜單
        點擊“New\Class”,出現如圖21所示對話框

        圖21 新建Java類對話框
        圖21 新建Java類對話框
        在“Name”中鍵入HelloWorld,在“Superclass”中鍵入com.opensymphony.xwork2.ActionSupport,點擊“Finish”關閉對話框。將HelloWorld.java的內容修改為:

        package?tutorial;

        import?com.opensymphony.xwork2.ActionSupport;

        public?class?HelloWorld?extends?ActionSupport?{
        ????
        private?String?name;
        ????
        ????
        public?String?getName()?{
        ????????
        return?name;
        ????}

        ????
        ????
        public?void?setName(String?name)?{
        ????????
        this.name?=?name;
        ????}

        ????
        ????
        public?String?execute()?{
        ????????name?
        =?"Hello,?"?+?name?+?"!";?
        ????????
        return?SUCCESS;
        ????}

        }

      3. 在struts.xml中添加action映射(mapping)
        <!DOCTYPE?struts?PUBLIC
        ????????"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.0//EN"
        ????????"http://struts.apache.org/dtds/struts-2.0.dtd"
        >
        <struts>
        ????
        <include?file="struts-default.xml"/>
        ????
        <package?name="tutorial"?extends="struts-default">
        ????????
        <action?name="HelloWorld"?class="tutorial.HelloWorld">
        ????????????
        <result>HelloWorld.jsp</result>
        ????????
        </action>
        ????
        </package>
        </struts>

      4. 新建SayHello.jsp

        參考“新建index.html文件”步驟,彈出如圖22所示對話框
        圖22 新建對話框
        圖22 新建對話框
        點擊“Next”, 進入下一步,如圖23所示

        圖23 新建JSP對話框
        圖23 新建JSP對話框
        在“File name”鍵入SayHello.jsp,點擊“Next”進入下一步,如圖24所示

        圖24 模板選擇對話框
        圖24 模板選擇對話框
        點擊“Finish”關閉對話框,并將SayHello.jsp的內容修改為:

        <%@?page?contentType="text/html;?charset=UTF-8"?%>
        <%@?taglib?prefix="s"?uri="/struts-tags"?%>
        <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
        <html>
        ????
        <head>
        ????????
        <title>Say?Hello</title>
        ????
        </head>
        ????
        <body>
        ????????
        <h3>Say?"Hello"?to:?</h3>
        ????????
        <s:form?action="HelloWorld">
        ????????????Name:?
        <s:textfield?name="name"?/>
        ????????????
        <s:submit?/>
        ????????
        </s:form>
        ????
        </body>
        </html>

      5. 新建HelloWorld.jsp(請參考上一步),HelloWorld.jsp的內容為:
        <%@?page?contentType="text/html;?charset=UTF-8"?%>
        <%@?taglib?prefix="s"?uri="/struts-tags"?%>
        <!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
        <html>
        ????
        <head>
        ????????
        <title>Hello</title>
        ????
        </head>
        ????
        <body>
        ????????
        <h3><s:property?value="name"?/></h3>
        ????
        </body>
        </html>

      6. 重新打包發布應用程序

        先停止tomcat, 再將tomcat里webapps下的Struts2_HelloWorld.war和Struts2_HelloWorld文件夾刪除,參照“將應用程序打包到tomcat上”重新發布應用程序。

      7. 啟動tomcat,運行測試

        打開Internet Explorer,鍵入http://localhost:8080/Struts2_HelloWorld/SayHello.jsp,窗口輸出如圖25所示
        圖25 SayHello.jsp
        圖25 SayHello.jsp
        在“Name”鍵入字符串(如World),點擊Submit,轉到HelloWorld.jsp頁面,如圖26所示

        圖26 HelloWorld.jsp
        圖26 HelloWorld.jsp

    3. 單元測試Hello World

      在文章開始的時候提及,單元測試困難是Struts一大缺點。現在讓我們在體驗一下,在Struts 2.0中是如何進行測試的。

      1. 新建JUnit單元測試

        右鍵點擊Struts2_HelloWorld\Java Resources: src\tutorial,彈出如圖27所示對話框
        圖27 新建菜單
        圖27 新建菜單
        點擊“Next\Other”

        圖28 新建對話框
        圖28 新建對話框
        選擇“Java\JUnit\JUnit Test Case”,點擊“Next”

        圖29 新建JUnit 測試用例對話框
        圖29 新建JUnit 測試用例對話框
        選擇“New JUnit 4 test”,在“Name”中鍵入HelloWorldTest,在“Class under test”鍵入tutorial.HelloWorld,點擊“Next”

        圖30 選擇方法對話框
        圖30 選擇方法對話框
        選中HelloWorld\execute方法,點擊Finish。如果生成的HelloWorldTest.java文件的圖標(Icon)出現紅色交叉標志,請進行以下步驟添加JUnit 4的jar包。

        右鍵點擊Struts2_HelloWorld,出現如圖所示菜單。 圖31 新建菜單
        圖31 新建菜單
        點擊“Build Path\Add Libararis”,彈出圖32對話框

        圖32 添加庫對話框
        圖32 添加庫對話框
        選中“JUnit”,點擊“Next”

        圖33 選擇版本對話框
        圖33 選擇版本對話框
        選擇“JUnit 4”,點擊“Finish”關閉對話框,并將HelloWorldTest.java的內容修改為:

        package?tutorial;

        import?static?org.junit.Assert.assertTrue;

        import?org.junit.Test;

        import?com.opensymphony.xwork2.ActionSupport;

        public?class?HelloWorldTest?{

        ????@Test
        ????
        public?void?testExecute()?{
        ????????HelloWorld?hello?
        =?new?HelloWorld();
        ????????hello.setName(
        "World");
        ????????String?result?
        =?hello.execute();
        ????????
        ????????assertTrue(
        "Expected?a?success?result!",?ActionSupport.SUCCESS.equals(result));
        ????????
        ????????
        final?String?msg?=?"Hello,?World!";
        ????????assertTrue(
        "Expected?the?default?message!",?msg.equals(hello.getName()));
        ????}


        }

      2. 運行單元測試

        右鍵點擊Struts2_HelloWorld\Java Resources: src\tutorial\HelloWorldTest.java,彈出如圖34所示菜單
        圖34 運行為菜單
        圖34 運行為菜單
        點擊“Run As\JUnit Test”,出現JUnit子窗口如圖35所示

        圖35 JUnit子窗口
        圖35 JUnit子窗口
        圖35的綠色矩形表示,所有單元測試通過。

    4. 總結

      上面的例子簡單地演示了,Web 應用程序的基本操作,也即是,頁面輸入->Action處理->再輸出到另外頁面。Struts 2.0的簡單易用、方便測試相信也會給大家留下不錯的印象吧。我相信,Struts 2.0作為一個全新的Web架構,將會再次掀起Web開發的熱潮。 不過,Struts 2.0還在測試中,正式版的發布還需些時日,所以文檔方面可能有所欠缺。請大家繼續留意我的博客,我會盡我所能為大家寫更多關于Struts 2.0的文章。

    posted on 2006-10-10 18:35 Max 閱讀(126053) 評論(345)  編輯  收藏 所屬分類: Struts 2.0系列
    評論共4頁: 上一頁 1 2 3 4 下一頁 

    評論:
    # re: 為Struts 2.0做好準備 2006-12-05 10:52 | kevin666888
    為什么不能正確顯示中文:
    如果在SayHello.jsp頁面的輸入框中輸入中文,(如“世界”)

    提交后顯示的是亂碼,如"Hello, ?=?!"

    請各位指教。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2006-12-05 18:34 | Max
    HelloWorld.jsp中<%@ page contentType="text/html; charset=UTF-8" %>有沒有加上這個?
    在我的環境中沒有這個問題。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2006-12-07 21:20 | konhon 優華
    非常詳細...
    我照做了下, 全通過  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2006-12-14 15:04 | xanbio
    @風人園
    如果你是直接copy的過去就會有這個問題。。建議把配置文件按照上面的手寫一遍就好了。。
    我也遇到過這樣的問題  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2006-12-14 15:07 | xanbio
    不完全這樣,
    1.你需要在你的classpath下放置struts.properties文件。
    2.同時你需要將tomcat下的你的項目的啟動文件的conttext元素的reload屬性設為true。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2006-12-24 01:48 | schop
    高級IT技術網
    http://www.paiming.org
    商務排名網
    http://www.paiming.biz
    文理校友
    http://www.suse.net.cn

    http://www.paiming.cc
    天馬行空人自如,
    高山流水子期悟.
    云開見日知音遇.
    淡雅素歌兩相圖。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-01-03 11:26 | flykite1983
    請問摟主為什么總是提示
    java.lang.NullPointerException呢?
      回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-01-05 13:31 | ss
    為什么我在新建服務器運行不了呢?提示tomcat路徑不對。必須得設置這個嗎?
      回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-01-05 13:38 | ss
    新建服務器運行,怎么點finish后不關閉呢,像死機一樣沒反應了  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-01-09 16:57 | 阿輝[匿名]
    為什么總是提示org.apache.jasper.JasperException: File "/struts-tags" not found
      回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-01-19 03:01 | maming
    這個更像JSF的Action模式,但是更關注于web而非組件,做為表現層次的framework,JSF在組件化方面做得非常優秀,但是如果加入驗證等等附加內容,它還要集成其它的東西;而Struts更像一個web的框架,盡管在Action方面似乎還不存在DI,但是在JSP方面的處理好像更靈活一些。  回復  更多評論
      
    # re: 為Struts 2.0做好準備[未登錄] 2007-02-26 14:18 | maomao
    為什么在web.xml這一步就通不過呢:
    嚴重: Error filterStart
    2007-2-26 14:14:07 org.apache.catalina.core.StandardContext start
    嚴重: Context startup failed due to previous errors
    2007-2-26 14:14:08 org.apache.catalina.core.StandardHost getDeployer  回復  更多評論
      
    # re: 為Struts 2.0做好準備[未登錄] 2007-03-15 10:28 | hunter
    @stoneshao

    不錯﹐就是學起來不容易﹗﹗支持﹗﹗﹗加油﹗﹗
      回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-03-20 10:01 | linken
    Apache Struts 2 requires:( Servlet API 2.4 JSP API 2.0 Java 5 )come from Struts 2 doc
    誰知道那些服務器支持Servlet API 2.4?
      回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-03-21 14:57 | Max
    @linken
    較新一點版本的服務器都支持Servlet API 2.4,如Tomcat 5.x,Websphere 6.x, Weblogic 8.x或以上版本等  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-03-21 17:03 | 沒有
    type Status report

    message /Hello/

    description The requested resource (/Hello/) is not available.
    前臺顯示的錯誤,后臺沒有錯誤輸出。
    這是什么問題,搞了一個下午還是這樣。
      回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-03-21 17:55 | 沒有姓名
    我用的是struts2.0.6。按照方法去做,顯示出錯是struts2過濾器出錯。出錯代碼如下。請那位大大幫忙給看一下是什么原因,整整弄了一個下午。
    信息: Parsing configuration file [struts-plugin.xml]
    2007-3-21 17:37:29 org.apache.catalina.core.StandardContext filterStart
    嚴重: Exception starting filter struts2
    Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.spring.StrutsSpringObjectFactory - bean - jar:file:/C:/Program%20Files/tomcat5.5.23/webapps/Hello/WEB-INF/lib/struts2-spring-plugin-2.0.6.jar!/struts-plugin.xml:8:132
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:209)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
    .................
    Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContextAware
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
    ..................
    2007-3-21 17:37:30 org.apache.catalina.core.StandardContext start
    嚴重: Error filterStart
    2007-3-21 17:37:30 org.apache.catalina.core.StandardContext start
    嚴重: Context [/Hello] startup failed due to previous errors
    2007-3-21 17:37:30 com.opensymphony.xwork2.util.ObjectTypeDeterminerFactory <clinit>  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-03-22 13:16 | world7th
    這個系列的文章很好,謝了,老大  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-03-22 22:56 | Max
    @沒有姓名
    對于沒有配置成功的朋友,可以通過將Struts 2包的apps\struts2-blank-2.0.6.war解壓,加入自己的工程。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-03-28 16:53 | 鳳飛飛
    支持,繼續努力  回復  更多評論
      
    # re: 為Struts 2.0做好準備[未登錄] 2007-03-28 23:31 | pts
    eclipse的WDT好難安裝,
    按照下載頁面的提示,同時下載了三個支持模塊:dtp,emf,gef,
    eclipse版本是3.2.2,全部安裝好后,已經在"manager configuration"看到了插件wtp安裝正常的信息,但是在新建project中怎么死活沒有建立"動態web project"項目.  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-03-29 16:07 | 小吳
    下載完struts 2.0 後..開始使用eclipse 3.2 第一步就跟作者的畫面不同了..是不是我少裝了什麼外掛呢  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-03-29 19:06 | ffgames
    你是怎么把wpt和myeclipse一起使用的?
    我這里就是不能
    可以告訴我嗎?
    我的郵箱是ffgames@163.com  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-03-29 22:43 | Max
    @pts
    @小吳
    @ffgames
    鑒于大家的問題,我會分別做一個WDT和MyEclipse的工程上傳到文章的后面。
    對于,之前給大家帶來的煩惱,我在此表示歉意。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-03-30 09:29 | 謎老鼠
    我用的是NetBeans5.0,能否講講在Netbeans下如何搭建開發和運行環境?謝謝!  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-02 14:38 | 毛毛
    行:29
    字符:1
    代碼:0
    錯誤:'dojo' 未定義
    網址:http://127.0.0.1:8888/Struts2_Test/SayHello.jsp  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-02 14:40 | 毛毛
    誰能幫我解釋一下這是怎么回事啊
    行:29
    字符:1
    代碼:0
    錯誤:'dojo' 未定義
    網址:http://127.0.0.1:8888/Struts2_Test/SayHello.jsp  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-03 12:37 | 小吳
    可以將taglib 的file 提供下載嗎???  回復  更多評論
      
    # 問一個關于中文亂碼的問題。 2007-04-03 17:44 | lhx
    我有一個注冊頁面register.jsp 如下,這樣在頁面上中文可以正確顯示,但是到action中取出來的“user.username”就是亂嗎了,該怎么解決啊?
    <%@ page contentType="text/html;charset=GBK"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>Sign On</title>
    </head>
    <body>
    <s:form action="RegisterAction">
    <table>
    <tr>
    <td>姓名</td>
    <td><s:textfield key="user.username"/></td>
    </tr>
    <tr>
    <td>地址</td>
    <td><s:textfield key="user.address" /></td>
    </tr>
    <tr><td colspan="2"><s:submit/></td></tr>
    </table>
    </s:form>  回復  更多評論
      
    # re: 為Struts 2.0做好準備[未登錄] 2007-04-07 21:19 | 呵呵
    為什么提示org.apache.jasper.JasperException: File "/struts-tags" not found   回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-07 22:56 | Max
    @lhx
    <%@ page contentType="text/html;charset=GBK"%>
    將頁面的輸出編碼設置為:GBK,但是又使用了:
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    告訴瀏覽器使用gb2312來顯示頁面。
    建議大家將編碼都設為utf-8,在我開發的過程中很少碰到亂碼的情況。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-07 22:59 | Max
    @呵呵
    可能少了某些JAR包。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-07 23:02 | Max
    不知道誰有沒有好的免費的文件寄放服務?
    因為Blogjava只能擺放不超過2000kb的文件,所以我沒有辦法上傳工程文件。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-09 14:53 | open
    @風人園
    請你加入這個試試:
    把HelloWorld

    更改為:HelloWorld.action看看的,應該是這個的問題!
      回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-10 13:36 | ycscy
    type 例外レポート

    メッセージ

    説明 The server encountered an internal error () that prevented it from fulfilling this request.

    例外

    org.apache.jasper.JasperException: Exception in JSP: /SayHello.jsp:10

    7: </head>
    8: <body>
    9: <h3>Say "Hello" to: </h3>
    10: <s:form action="HelloWorld">
    11: Name: <s:textfield name="name" />
    12: <s:submit />
    13: </s:form>


    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:467)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


    原因

    java.lang.NullPointerException

    這是什么原因?  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-10 17:30 | ycscy
    我用的是struts2.06,上面這個問題是因為不支持標簽庫嗎,為什么會出現這樣的問題?  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-10 23:15 | Max
    @ycscy
    應該不是這個問題。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-11 09:35 | ycscy
    這個到底是什么原因,能解釋一下嗎?謝謝!  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-13 11:22 | xj
    @badqiu1
    你是煞筆啊,我還說你更麻煩,還要寫程序,我一句話下去就有人去寫,比你更簡單.像你這樣的人就是半瓶晃蕩,有本事自己寫一個類似的技術文章出來  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-16 01:18 | Sullivan
    我按照方法做了一下 可是為什么到HelloWorld是一個空值呢?   回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-16 22:38 | Max
    @Sullivan
    @ycscy
    對不起,你們給的信息太少,所以我無法判斷是什么原因。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-18 13:30 | jiajia
    新建struts.xml文件時,這個文件的文件名是不是可以變化,還是說一定要使struts,另外放的地方有沒有什么說法  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-18 13:36 | jiajia
    啟動tomcat時,strurs2自動得讀default-config.xml配置文件,那么怎么讀自己建的struts.xml文件   回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-18 23:05 | Max
    @jiajia
    Struts 2默認會讀取classpath下的struts-default.xml,struts-plugin.xml,struts.xml這三個文件。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-19 09:49 | jiajia
    謝謝max的回答,再問一下struts-plugin.xml這個文件在哪個jar包里面,還是自己定義的  回復  更多評論
      
    # re: 為Struts 2.0做好準備[未登錄] 2007-04-19 13:30 | Tony
    org.apache.jasper.JasperException: Exception in JSP: /SayHello.jsp:10

    7: </head>
    8: <body>
    9: <h3>Say "Hello" to: </h3>
    10: <s:form action="HelloWorld">
    11: Name: <s:textfield name="name" />
    12: <s:submit />
    13: </s:form>


    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:467)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


    原因

    java.lang.NullPointerException
    這個問題我也遇到了,我用的是tomcat5.5,配置文件都是和例子一樣的,可是就是無法解析標簽,不知道是什么原因?還望指點下  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-19 23:19 | Max
    @jiajia
    struts-plugin.xml會在你下載的plugin的jar包中,如struts2-spring-plugin-2.0.6.jar。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-19 23:28 | Max
    @Tony
    你應該沒在web.xml有配置struts 2的filter,試下將以下列代碼加到web.xml的<web-app></web-app>元素之間:
    <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>  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-25 00:42 | fish119
    好像需要Tomcat 5.5以上,5.0會有問題,諸如NullPointerExceptio之類的  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-29 13:41 | bbb
    我用test 文件夾Struts2_HelloWorld運行時出現下面的錯誤,請問如何解決?

    type Status report

    message /test/HelloWorld!excute

    description The requested resource (/test/HelloWorld!excute) is not available.  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-30 10:23 | agoo
    @沒有姓名
    嚴重: Exception starting filter struts2
    java.lang.NoClassDefFoundError: Lorg/codehaus/plexus/PlexusContainer;
    2007-4-30 10:18:39 org.apache.catalina.core.StandardContext start
    嚴重: Error filterStart  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-04-30 20:11 | 食管家
    type Status report

    message /Struts2_HelloWorld/HelloWorld

    description The requested resource (/Struts2_HelloWorld/HelloWorld) is not available.



    是什么原因?


    另外:filter錯誤好象是jar包的問題,你直接引用struts2-blank-2.0.6.war中的包吧。可以解決。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-05-03 21:39 | ec
    嚴重: Error filterStart
    2007-5-3 21:33:58 org.apache.catalina.core.StandardContext start
    嚴重: Context startup failed due to previous errors
    2007-5-3 21:33:59 org.apache.catalina.core.StandardHostDeployer install
    信息: Installing web application at context path /balancer from URL file:D:\Tomcat528\webapps\balancer
    2007-5-3 21:33:59 org.apache.catalina.core.StandardContext start
    嚴重: Error filterStart
    2007-5-3 21:33:59 org.apache.catalina.core.StandardContext start
    嚴重: Context startup failed due to previous errors
    2007-5-3 21:33:59 org.apache.catalina.core.StandardHostDeployer install

    我已經重新引用了struts2-blank-2.0.6.war中的Jar包仍然沒有解決這個問題,希望樓主回復~~  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-05-06 11:50 | 張先生
    在struts2.0.6中:
    org.apache.struts2.action.dispatcher.FilterDispatcher
    這一句咋也通不過,有啥辦法呢??  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-05-08 10:07 | Max
    @ec
    信息太少,我也無法判斷原因。

    @張先生
    “通不過”是什么意思?  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-05-08 20:53 | 張先生
    在struts2.0.6+weblogic9.1環境下:
    web.xml中是這樣寫的
    <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>
    <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    如果刪除里面的
    <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>
    后Context就可以啟動了

    不知道是怎么回事?有以下提示:
    在啟動weblogic9.1時,出現了以下錯誤:
    <Could not load user defined filter in web.xml:
    org.apache.struts2.dispatcher.FilterDispatcher.
    java.lang.IncompatibleClassChangeError
    at org.apache.struts2.dispatcher.Dispatcher.<clinit>(Dispatcher.java:83)
    at org.apache.struts2.dispatcher.FilterDispatcher.createDispatcher
    (FilterDispatcher.java:389)
    at org.apache.struts2.dispatcher.FilterDispatcher.init
    (FilterDispatcher.java:162)
    at weblogic.servlet.internal.FilterManager$FilterInitAction.run
    (FilterManager.java:311)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs
    (AuthenticatedSubject.java:321)
    web.xml內容如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <filter id="filterdispatcher">
    <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>
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    </web-app>
    所有struts2.0.6的包一個一個檢查了,沒問題.但就是啟動不起來!
      回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-05-10 13:28 | 小學生
    老師```可以不可加我一下````我的QQ是530981086   回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-05-10 17:31 | gpiaofei2006
    全部按照步驟做完后,在SayHello.jsp,填上任意名字,執行結果都是Hello,null!十分迷惑  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-05-13 13:58 | gpiaofei2006
    # re: 為Struts 2.0做好準備 2006-10-26 22:57 | esmiles

    糾正一個錯誤:
    HelloWorld.jsp中的<s:property name="name" />
    name屬性是錯的。應該改成value屬性,既:
    <s:property value="name" />

    HelloWorld.jsp中的<s:property name="name" /> 應該不改變
    否則結果為:Hello,null;  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-05-16 13:21 | ning wang
    Could you tell me how to integration velocity 1.4 in struts2.0? I have readed your other example of Struts 2.0的Action講解.However it is failed when running in tomcat.

    The erro is
    No result defined for action tutorial.HelloWorld and result success - action - file:/C:/apache-tomcat-5.5.23/webapps/Struts2_HelloWorld/WEB-INF/classes/struts.xml:7:64

    the struts.xml is
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
    <include file="struts-default.xml"/>
    <package name="tutorial" extends="struts-default">
    <action name="VMHelloWorld" class="tutorial.HelloWorld">
    <result name="SUCCESS" type="velocity">HelloWorld.vm</result>
    </action>
    </package>
    </struts>  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-05-17 08:26 | chunchong
    謝謝了,好文章。頂一下。摟主辛苦了  回復  更多評論
      
    # re: 為Struts 2.0做好準備[未登錄] 2007-05-17 10:38 |
    按照上面的提示出現下面的錯誤。 請各位老大診斷診斷。
    致命的: フィルタ Struts2 の起動中の例外です
    Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar:file:/C:/tomcat5.5.23/webapps/Struts2_HelloWorld/WEB-INF/lib/struts2-core-2.0.6.jar!/struts-default.xml:8:69
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:209)
    .....
    ..
    Caused by: Bean type class com.opensymphony.xwork2.ObjectFactory with the name xwork has already been loaded by bean - jar:file:/C:/tomcat5.5.23/common/lib/struts2-core-2.0.6.jar!/struts-default.xml:8:69 - bean - jar:file:/C:/tomcat5.5.23/webapps/Struts2_HelloWorld/WEB-INF/lib/struts2-core-2.0.6.jar!/struts-default.xml:8:69
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:194)
    ... 33 more
    2007/05/17 10:32:14 org.apache.catalina.core.StandardContext start
    致命的: Error filterStart  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-05-18 09:25 | Max
    @ning wang
    你的問題是大小寫的問題,你可以試一下把“SUCCESS”改為“success”或干脆把name屬性去掉。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-05-18 09:29 | Max
    @風
    嘗試一下將C:/tomcat5.5.23/common/lib/下的struts2-core-2.0.6.jar刪除,盡量不要把第三方的包放在這里。  回復  更多評論
      
    # re: 為Struts 2.0做好準備[未登錄] 2007-05-18 10:41 |
    @Max
    謝謝max的回答.
    好文章。頂一下。摟主辛苦了  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-05-20 16:57 |
    @Max
    我用的是Struts2-2.0.6這個版本
    按照你說的做了以后啟動TOMCAT就會報出下面的錯誤,測試通不過,
    是不是跟你的版本不一樣的問題?
    嚴重: Exception starting filter struts2
    Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.spring.StrutsSpringObjectFactory - bean - jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%205.5/webapps/Struts2-helloworld/WEB-INF/lib/struts2-spring-plugin-2.0.6.jar!/struts-plugin.xml:8:132
    at
    ..............
    Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContextAware
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
    at com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:139)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:181)
    ... 33 more
    2007-5-20 16:08:16 org.apache.catalina.core.StandardContext start
    嚴重: Error filterStart
    2007-5-20 16:08:16 org.apache.catalina.core.StandardContext start
    嚴重: Context [/Struts2-helloworld] startup failed due to previous errors  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-05-22 09:11 | Max
    @輝
    你是不是用了spring,打開src/struts.properties文件,將其內容清空。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-03 20:34 |
    @Max
    我沒用Spring啊,另外在說的這個文件夾下面,我找不到struts.properties
    這個文件啊
      回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-04 23:27 | Max
    @輝
    試一下加一個空白的struts.properties文件。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-05 19:56 | xjq
    2.0.6中出現:嚴重: Error filterStart 的原因是,build path里面多了一些plugin的包,只留一個core即可  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-07 17:41 | da yu
    謝謝樓主!STRUTS2.0很好!  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-09 18:09 | SoarDragon
    message

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception

    There is no Action mapped for action name HelloWorld. - [unknown location]
    com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
    org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
    org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)
      回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-09 18:13 | SoarDragon
    這是什么錯誤啊,配置文件我一個字母一個字母對過了,
    可是還出這種錯誤  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-12 13:09 | EasefulMaple
    問一個相對無關的問題:就是你的eclipse用的哪些插件啊???
    在哪里有下????

    官網我去過N次了,不過沒找到。。。。。  回復  更多評論
      
    # re: 為Struts 2.0做好準備[未登錄] 2007-06-14 10:39 | aa
    Thanks!!  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-19 11:36 | 任遨游
    請問我都配置成功了,但點submit按鈕時,報以下錯誤

    type Status report

    message /TestStruts2/HelloWorld

    description The requested resource (/TestStruts2/HelloWorld) is not available.

      回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-19 13:17 | 任遨游
    @任遨游
    問題解決了。我用tomcat5.5.23,eclipse wtp 3.2 .struts2.0.8

    搞了昨天一下午,才配通,從apaceh下了好多包才搞定。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-19 22:12 | Max
    @任遨游
    對不起,由于版本的更改,不少內容都有錯誤,有時間想重新寫這篇文章。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-21 10:33 | 新手
    在JSP頁面我能不能不用STRUTS2.0的標簽?

    如果可以.那么.我在<FORM ACTION="寫什么">
    那在struts.xml中ACTION 中的NAME一樣嗎?  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-22 15:20 | 新手
    <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>
    <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    </welcome-file-list>


    為什么上面的代碼加到web.xml中后.就報404錯誤.不加的話,還可以能看到index.xml這個頁面之后再報404錯誤?

    急,在線等....

      回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-22 15:32 | Max
    @新手
    1、<s:form />的action才與struts.xml中的Action名一樣,而<form />中的action應為你的Action的路徑的全名如/mypath/myaction.action;

    2、你的應用沒有被服務器成功加載,請檢查控制臺的輸出。  回復  更多評論
      
    # re: 為Struts 2.0做好準備[未登錄] 2007-06-22 16:39 | king
    怎么我也是是這個錯啊?
    各位誰有demo給傳個能運行的阿?
    majun4678@163.com

    嚴重: Exception starting filter struts2
    Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.spring.StrutsSpringObjectFactory - bean - jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%205.5/webapps/Struts2-helloworld/WEB-INF/lib/struts2-spring-plugin-2.0.6.jar!/struts-plugin.xml:8:132   回復  更多評論
      
    # re: 為Struts 2.0做好準備[未登錄] 2007-06-22 21:48 | Edward
    Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.spring.StrutsSpringObjectFactory - bean -

    看過來。。

    https://issues.apache.org/struts/browse/WW-2003  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-22 22:16 | Max
    @Edward
    @king
    將你的struts2-spring-plugin-2.0.6.jar包從工程去掉。
    希望這可以解決你們的問題。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-26 14:46 | 客人
    @Max
    謝謝你提供這個例子;www.mofile.com可以存放大文件,你的教程和代碼可以放上去,上傳速度也很快,先要免費注冊。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-27 09:26 | ddr


    你不用拷貝所有的jar文件到lib中,可以只拷貝\apps\struts2-blank-2.0.*.war中的lib內容。

    此時啟動不會出錯。
    我用的是struts 2.0.8,也存在這個問題。換了lib后好了。

    哪位好研究的,給看看什么問題。我覺得是包括的所有的jar時,某些jar引用了spring的庫  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-06-28 10:02 | 客人
    type Status report

    message /Hello/

    description The requested resource (/Hello/) is not available.
    前臺顯示的錯誤,后臺沒有錯誤輸出。
    **********************************

    這樣的問題,我也遇到,但解決了;
    MAX的代碼沒有錯誤,可以直接使用;為確保正常,STRUTS2的包可以用struts2-blank-2.0.6.war里面的(我用的struts2-blank-2.0.8.war)。

    大概目前的myeclipse 不支持struts2,所以
    要確認struts.xml放在classes目錄下,內容也要正確;

    同時建議MAX附上代碼,這樣有些問題,大家可以自己比較著來解決了.  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-07-02 10:47 | 小茶
    能否解釋下web.xml中配置的具體含義,比如:
    <display-name>Struts 2.0 Hello World</display-name>
    <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>
    上面標簽的具體含義
    還有SayHello.jsp文件中的<s:textfield name="name" />,當輸入內容后提交應該是調用了HelloWorld.java中的setName()方法;HelloWorld.jsp文件中的<s:property value="name" />,應該是調用了HelloWorld.java中的getName()方法,這些是不是在struts2.0標簽中定義好的,textfield中的第二個"name"是否要和HelloWorld.java中定義的name保持相同.
    能否就上面的幾個問題具體介紹下,我剛接觸struts2.0,期待您的回復!!!  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-07-02 23:20 | Max
    @小茶
    Struts 2是一個MVC模型的框架,它通過Dispatcher 過濾器(filter)和攔截器處理和控制Action。
    Action中的屬性值可以通過Javabean規范與請求是的參數綁定,所以<s:textfield />等Form標志的name屬性必須與Action屬性名一致。
    更詳細的情況你可以參考Struts 2的官方文檔。  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-07-04 11:36 | FreeTime
    是因為教程上把 struts.xml的名字寫成了sturts.xml。都是復制惹的錯啊。
      回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-07-06 10:30 | DXYY
    message

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception

    There is no Action mapped for action name HelloWorld. - [unknown location]
    com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
    org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:497)
    org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)   回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-07-06 10:34 | DXYY
    再加已補充,我的Strutss是用的2.0.6我的Tomcat是用的5.5的,我的jdk是用的1.5的  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-07-08 19:24 |
    @小吳
    重新下載一個版本
    我在2。08下通過,2。08的庫不能加得太多,最好用2。08-blank 下的5個庫,否則通不過。對于中文問題,只要在SayHello.jsp中全部使用UTF-8,在HelloWorld.jsp中全部使用gb18030就全OK了  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-07-11 14:35 | skey
    您太強了,這么詳細!  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-07-12 16:30 | sunlarry
    謝謝MAX, 今天運行了一下例子, 發現HelloWorld 404, 查了半天原來是COPY惹出來,struts.xml寫錯名了! 呵呵! 看來懶就是不好  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-07-17 10:04 | ss
    thank u  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-07-18 10:36 | 我是路人
    做為一個學習struts2的新手,總發現這方面的資料比較少.感謝你提供的文章,感謝你的付出.這樣的討論氛圍讓人欣慰.謝謝  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-07-18 17:31 | cainiao
    介紹的很詳細,非常感謝!按照流程走了一遍!沒有問題!  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-07-19 16:46 | wyg405
    非常感謝!很好的東西!  回復  更多評論
      
    # re: 為Struts 2.0做好準備 2007-07-20 16:42 | jarwang


    試了多次, goole多次.仍是中文亂碼???????
    全部的頁面都加了
    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>

    還是亂碼.......

    請問:如何解決呢????多謝.....  回復  更多評論
      
    評論共4頁: 上一頁 1 2 3 4 下一頁 
    主站蜘蛛池模板: 区三区激情福利综合中文字幕在线一区亚洲视频1 | 99re在线视频免费观看| 国产一区二区免费在线| 亚洲色偷偷偷综合网| 国产乱码免费卡1卡二卡3卡| 亚洲不卡中文字幕| 成人免费毛片内射美女-百度| 亚洲一级毛片中文字幕| 国产一精品一AV一免费孕妇| 亚洲日韩AV一区二区三区中文| 国语成本人片免费av无码| 亚洲欧洲专线一区| 国产jizzjizz免费视频| 一本久久免费视频| 国产亚洲精品a在线无码| 免费一级不卡毛片| 久久久亚洲裙底偷窥综合| 黄页网站在线观看免费高清| 亚洲熟妇丰满xxxxx| 啊v在线免费观看| 一级毛片试看60分钟免费播放| 国产亚洲精品国产| 亚洲一区二区免费视频| 亚洲精品美女久久7777777| 又黄又爽的视频免费看| 国产成年无码久久久免费| 亚洲精品在线不卡| 国产一区视频在线免费观看 | 免费h成人黄漫画嘿咻破解版| 亚欧国产一级在线免费| 亚洲色图在线播放| 免费观看男人免费桶女人视频| 一区二区三区视频免费观看| 亚洲激情在线观看| 日韩午夜免费视频| 成人A片产无码免费视频在线观看| 亚洲不卡中文字幕| 精品亚洲一区二区三区在线观看| 91av免费观看| 成人免费网站久久久| 久久久亚洲AV波多野结衣|