隨筆-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 閱讀(126072) 評論(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 下一頁 
          主站蜘蛛池模板: 平江县| 杭州市| 思南县| 孙吴县| 夏河县| 双柏县| 呼和浩特市| 平遥县| 屏南县| 武功县| 犍为县| 开阳县| 蓝田县| 宝丰县| 黄浦区| 洪江市| 康定县| 廉江市| 三江| 扶风县| 哈密市| 宿迁市| 浦东新区| 大名县| 彭阳县| 连江县| 哈密市| 钟祥市| 神池县| 资源县| 松桃| 丹阳市| 哈巴河县| 通道| 福安市| 东辽县| 仙桃市| 六枝特区| 乐至县| 南阳市| 新野县|