<constant name="struts.devMode" value="true"/> 鎴栬?br /> <constant name="struts.configuration.xml.reload" value="true"/>
鍚姩Tomcat鏃訛紝浼氬嚭鐜頒互涓嬪紓甯革細
org.apache.catalina.core.StandardContext filterStart
涓ラ噸: Exception starting filter struts2
java.lang.NullPointerException
at com.opensymphony.xwork2.util.FileManager$FileRevision.needsReloading(FileManager.java:209)
at com.opensymphony.xwork2.util.FileManager.fileNeedsReloading(FileManager.java:60)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.needsReload(XmlConfigurationProvider.java:325)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.needsReload(StrutsXmlConfigurationProvider.java:168)
at com.opensymphony.xwork2.config.ConfigurationManager.conditionalReload(ConfigurationManager.java:220)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:61)
at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:774)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:191)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2009-2-4 22:40:54 org.apache.catalina.core.StandardContext start
涓ラ噸: Error filterStart
2009-2-4 22:40:54 org.apache.catalina.core.StandardContext start
涓ラ噸: Context [/Struts2Demo2] startup failed due to previous errors
闂鍙婅В鍐蟲柟娉曪細
鍋氫笂涓」鐩殑鏃跺欏氨鍑虹幇浜嗚繖涓紓甯革紝緗戜笂鏌ヤ簡寰堝璧勬枡錛屾湁浜鴻榪欎釜鏄?16鐗堟湰鐨凚UG錛岃繕鏈変竴涓?patch琛ヤ竵鏂囦歡錛屾墦涓婅ˉ涓佸氨娌¢棶棰樹簡錛屼笅涓涓増鏈氨榪涜淇錛屽綋鏃朵篃涓嶄細鎵撹ˉ涓佸氨鏀懼純浜嗗紑鍙戞ā寮忋備粖澶╁張紕拌榪欎釜闂錛岀櫨搴︿簡涓涓嬬珶鐒跺張瑙e喅鏂規硶浜嗭紝鍘熷洜寰堢畝鍗曚篃寰堜護浜烘睏棰滐紝灝辨槸“tomcat鐨勫畨瑁呰礬寰勫寘鍚┖鏍?#8221;錛岄噸瑁呬簡涓婽omcat嫻嬭瘯鏋滅劧娌¢棶棰橈紝姹楁浜嗗晩錛?/p>
涓嬮潰鍑犱釜鐭ヨ瘑鐐規槸浠庡埆浜洪偅閲孋OPY鏉ョ殑錛孫(∩_∩)O鍝堝搱~
涓嬮潰鏄?涓紑鍙戞ā寮忓父鐢ㄩ厤緗殑綆浠?--
<!-- 寮鍚嬌鐢ㄥ紑鍙戞ā寮忥紝璇︾粏閿欒鎻愮ず -->
<!-- <constant name="struts.devMode" value="true"/>-->
<!-- 鎸囧畾姣忔璇鋒眰鍒拌揪錛岄噸鏂板姞杞借祫婧愭枃浠?-->
<!-- <constant name="struts.i18n.reload" value="true"/>-->
<!-- 鎸囧畾姣忔閰嶇疆鏂囦歡鏇存敼鍚庯紝鑷姩閲嶆柊鍔犺澆 -->
<!-- <constant name="struts.configuration.xml.reload" value="true"/>-->
<!-- 鎸囧畾XSLT Result浣跨敤鏍峰紡琛ㄧ紦瀛?-->
<!-- <constant name="struts.xslt.nocache" value="true"/>-->
2.闆墮厤緗彃浠禼odebehind涓鏃﹀鍏ュ氨蹇呴』榪涜init-param鍒濆鍖栭厤緗紝鍚﹀垯鎶ラ敊錛歱ackageAction can't mapping action!
3.<s:i18n name="???"></s:i18n>鍖呬綇閭d釜鏍囩錛岃鏍囩灝卞姞杞藉畠鎸囧畾鐨勫浗闄呭寲鏂囦歡錛屼笉綆℃槸text,textfield榪樻槸form閮芥槸濡傛銆?br />
4.action瀹炰緥銆亁xxScope瀵硅薄閮藉湪ValueStack鍐咃紝鐩存帴浣跨敤${}璋冪敤
5.浣跨敤append鏍囩鏃訛紝娌℃湁鎵璋撶殑灝唌ap鍜宭ist闆嗗悎瀵硅薄榪炴帴璧鋒潵鐨勮娉曪紝鍦ㄥ垱寤簃ap瀵硅薄鐨勪嬌鐢ㄧ殑璇硶涓?{:,}錛屽鏋滅渷鐣ュ啋鍙鳳紝鍒欓粯璁alue涓簄ull銆?br />
5.StackContext 涓殑瀵硅薄鍙互鐞嗚В涓簊truts2鏍囩搴撲嬌鐢ㄧ殑涓撶敤瀵硅薄錛屾瘮濡傞氳繃value灞炴ц皟鐢細value="#xxx.xxx.xxx..."
6.ValueStack鏄疭tackContext鐨勯《綰у璞★紝鍙互涓嶉渶瑕?鍓嶇紑浣跨敤錛孲tackContext涓殑鏌愪簺宸插緩绔嬪璞″彲浠ラ氳繃姣斿鍦ㄦ煇浜涙爣絳句腑璁劇疆var灞炴ц皟鍏ユ牴瀵硅薄ValueStack錛岃揪鍒扮渷鐣?鍙風殑鐩殑銆傚湪瀹為檯涓垯鍙互鐞嗚В涓哄湪鏍囩鍐呬復鏃舵柊寤虹殑涓涓垨澶氫釜瀵硅薄錛岄氳繃var灞炴ф寚瀹氱殑鍚嶇О璁塊棶 value="xxx.xxx.xxx...."
7.${requestScope.xxx.name} 涓?<s:property value="#request.xxx.name"/>錛坋scapse灞炴ц緗負false錛?琛ㄨ揪鐨勫唴瀹圭浉鍚岋紝閮芥槸杈撳嚭request鑼冨洿鍐呯殑xxx瀵硅薄鐨刵ame灞炴у鹼紝涓旀棤璁烘槸鍚﹁鍊煎寘鍚玥tml浠g爜