﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-老翟-随笔分类-Struts2</title><link>http://www.blogjava.net/apl330/category/45812.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 14 Dec 2010 21:50:54 GMT</lastBuildDate><pubDate>Tue, 14 Dec 2010 21:50:54 GMT</pubDate><ttl>60</ttl><item><title>配置Struts过程出问题</title><link>http://www.blogjava.net/apl330/archive/2010/12/14/340613.html</link><dc:creator>jack zhai</dc:creator><author>jack zhai</author><pubDate>Tue, 14 Dec 2010 02:58:00 GMT</pubDate><guid>http://www.blogjava.net/apl330/archive/2010/12/14/340613.html</guid><wfw:comment>http://www.blogjava.net/apl330/comments/340613.html</wfw:comment><comments>http://www.blogjava.net/apl330/archive/2010/12/14/340613.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/apl330/comments/commentRss/340613.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/apl330/services/trackbacks/340613.html</trackback:ping><description><![CDATA[<p>&lt;package name="member" namespace="/member" extends="struts-default"&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action name="regist" class="cc.apl330.action.MemberAction"&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">&lt;result &gt;/suc.jsp&lt;/result&gt;</font> <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="isExists"&gt;/fail.jsp&lt;/result&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/action&gt; <br>&nbsp; &lt;/package&gt;</p> <p><font color="#ff0000">运行正常，用户注册成功后会跳转到suc.jsp</font></p> <p>&nbsp;</p> <p>如果将配置改成</p> <p>&lt;package name="member" namespace="/member" extends="struts-default"&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action name="regist" class="cc.apl330.action.MemberAction"&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">&lt;result &gt;/suc.html&lt;/result&gt;</font> <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;result name="isExists"&gt;/fail.jsp&lt;/result&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/action&gt; <br>&nbsp; &lt;/package&gt;</p> <p><font color="#ff0000">运行不正常，用户输入数据后，点击确定。查看数据库，数据库写入正常，但页面空白，地址栏却正常：</font><a href="http://localhost:8080/test/member/regist"><font color="#ff0000">http://localhost:8080/test/member/regist</font></a></p> <img src ="http://www.blogjava.net/apl330/aggbug/340613.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/apl330/" target="_blank">jack zhai</a> 2010-12-14 10:58 <a href="http://www.blogjava.net/apl330/archive/2010/12/14/340613.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>拦截器的实现原理</title><link>http://www.blogjava.net/apl330/archive/2010/07/31/327638.html</link><dc:creator>jack zhai</dc:creator><author>jack zhai</author><pubDate>Sat, 31 Jul 2010 07:19:00 GMT</pubDate><guid>http://www.blogjava.net/apl330/archive/2010/07/31/327638.html</guid><wfw:comment>http://www.blogjava.net/apl330/comments/327638.html</wfw:comment><comments>http://www.blogjava.net/apl330/archive/2010/07/31/327638.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/apl330/comments/commentRss/327638.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/apl330/services/trackbacks/327638.html</trackback:ping><description><![CDATA[<h2></h2> <p><font color="#008000">运行主类<br>Main.java</font><br>public class Main {<br>&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new ActionInterceptor().invoke() ;<br>&nbsp;&nbsp;&nbsp; }<br>}  <p>/********************************/  <p><font color="#004000">拦截器核心<br>ActionInterceptor.java</font>  <p>import java.util.ArrayList;<br>import java.util.List;  <p>public class ActionInterceptor {<br>&nbsp;&nbsp;&nbsp; List&lt;Inte&gt; intes = new ArrayList&lt;Inte&gt;() ;<br>&nbsp;&nbsp;&nbsp; int index = -1 ;<br>&nbsp;&nbsp;&nbsp; public ActionInterceptor() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; intes.add(new FistInte()) ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; intes.add(new SecondInte()) ;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; public void invoke() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; index++ ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(index &gt;= intes.size()) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; new Action().execute() ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.intes.get(index).inte(this) ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>}  <p>/********************************/  <p><font color="#004000">接口:与拦截器之间的通讯接口<br>Inte.java</font>  <p>public interface Inte {<br>&nbsp;&nbsp;&nbsp; void inte(ActionInterceptor actioninterceptor) ;<br>}  <p>/********************************/  <p><font color="#004000">接口使用类<br>FistInte.java</font><br>public class FistInte implements Inte {  <p>&nbsp;&nbsp;&nbsp; @Override<br>&nbsp;&nbsp;&nbsp; public void inte(ActionInterceptor actioninterceptor) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(1) ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; actioninterceptor.invoke() ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(-1) ;<br>&nbsp;&nbsp;&nbsp; }<br>}  <p>SecondInte.java<br>public class SecondInte implements Inte {  <p>&nbsp;&nbsp;&nbsp; @Override<br>&nbsp;&nbsp;&nbsp; public void inte(ActionInterceptor actioninterceptor) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(2) ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; actioninterceptor.invoke() ;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(-2) ;<br>&nbsp;&nbsp;&nbsp; }<br>}  <p>/********************************/  <p><font color="#004000">动作类 </font> <p><font color="#004000">Action.java</font><br>public class Action {<br>&nbsp;&nbsp;&nbsp; public void execute() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("execute!") ;<br>&nbsp;&nbsp;&nbsp; }<br>}</p>    <img src ="http://www.blogjava.net/apl330/aggbug/327638.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/apl330/" target="_blank">jack zhai</a> 2010-07-31 15:19 <a href="http://www.blogjava.net/apl330/archive/2010/07/31/327638.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>