⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 入門 13 - 從actionservlet到requestprocessor - javaworld@tw.htm

📁 struts快速入门文章
💻 HTM
📖 第 1 页 / 共 2 页
字号:
    <SPAN class=java-comment>// 前置處理,預設返回 <SPAN class=java-keyword>true</SPAN>,子類可以重新定義它以決定要不要繼續處理</SPAN>
    <SPAN class=java-keyword>if</SPAN>(!processPreProcess(request, response)) {
        <SPAN class=java-keyword>return</SPAN>;
    }

    <SPAN class=java-comment>// 從URI路徑確定ActionMapping</SPAN>
    ActionMapping mapping = processMapping(request, response, path);
    <SPAN class=java-keyword>if</SPAN>(mapping == <SPAN class=java-keyword>null</SPAN>) {
        <SPAN class=java-keyword>return</SPAN>;
    }

    ....

    <SPAN class=java-comment>// 處理ActionForm,如果沒有就新增一個,之後一直使用它</SPAN>
    ActionForm form = processActionForm(request, response, mapping);
   
    <SPAN class=java-comment>// 將表單的欄位值填入ActionForm</SPAN>
    processPopulate(request, response, form, mapping);

    <SPAN class=java-comment>// 判斷是否執行ActionForm的validate()方法</SPAN>
    <SPAN class=java-keyword>if</SPAN>(!processValidate(request, response, form, mapping)) {
        <SPAN class=java-keyword>return</SPAN>;
    }

    <SPAN class=java-comment>// 判斷 &lt;action&gt; 標籤的 forward 或 include 標籤是不是被設定</SPAN>
    <SPAN class=java-comment>// 這兩個標籤在設定一個路徑,其與 type 屬性是互斥的,當設定</SPAN>
    <SPAN class=java-comment>// 其中一個屬性時,調用 RequestDispatcher 的 forward() 或</SPAN>
    <SPAN class=java-comment>// include() ,其作用與設定ForwardAction或IncludeAction相同</SPAN>
    <SPAN class=java-comment>// 直接繞送而不再使用Action物件進行接下來的處理</SPAN>
    <SPAN class=java-keyword>if</SPAN>(!processForward(request, response, mapping)) {
        <SPAN class=java-keyword>return</SPAN>;
    }
    <SPAN class=java-keyword>if</SPAN>(processInclude(request, response, mapping)) {
        <SPAN class=java-keyword>return</SPAN>;
    }

    <SPAN class=java-comment>// 處理Action,如果沒有就生成一個,之後一直使用它</SPAN>
    Action action = processActionCreate(request, response, mapping);
    <SPAN class=java-keyword>if</SPAN>(action == <SPAN class=java-keyword>null</SPAN>) {
        <SPAN class=java-keyword>return</SPAN>;
    }

    <SPAN class=java-comment>// 呼叫Action的execute()或perform()方法,並返回ActionForward</SPAN>
    ActionForward forward = processActionPerform(request, response, action, <SPAN class=java-keyword>for</SPAN>, mapping);

    <SPAN class=java-comment>// 處理ActionForward</SPAN>
    processActionForward(request, response, forward);
}</PRE></DIV></DIV><BR> 您可以繼承RequestProcessor,並改寫其中的processXXXXX()方法來自定義請求的處理方式,如果您要使用自己的 
            RequestProcessor,要要在struts-config.xml中使用&lt;controller&gt;標籤來定義,例如: 
            <DIV class=code 
            style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid">
            <DIV class=codeHeader 
            style="BORDER-BOTTOM-STYLE: solid"><B>struts-config.xml</B></DIV>
            <DIV class=codeContent><PRE>&lt;controller
    contentType=<SPAN class=java-quote>"text/html;charset=Big5"</SPAN>
    locale=<SPAN class=java-quote>"<SPAN class=java-keyword>true</SPAN>"</SPAN>
    nocache=<SPAN class=java-quote>"<SPAN class=java-keyword>true</SPAN>"</SPAN>
    processorClass=<SPAN class=java-quote>"onlyfun.caterpillar.CustomRequestProcessor"</SPAN>/&gt;</PRE></DIV></DIV><BR> 在Struts 
            1.1中,新增了&lt;controller&gt;標籤,它用於指定給ActionServlet的一些參數,在Struts 
            1.1之前,這些參數是在&lt;init-params&gt;中加以指定,使用&lt;controller&gt;標籤,應用程式中不同的模組也可以指定各自的參數給ActionServlet。 
<!-- page content ends --><!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"         xmlns:dc="http://purl.org/dc/elements/1.1/"         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><rdf:Description    rdf:about="http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=593"    dc:identifier="http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=593"    dc:title="入門 13 - 從ActionServlet到RequestProcessor"    trackback:ping="http://www.javaworld.com.tw/confluence/rpc/trackback/593"/></rdf:RDF>-->
            <P>
            <DIV class=greybox><IMG height=16 
            src="入門 13 - 從ActionServlet到RequestProcessor - JAVAWORLD@TW.files/comment_16.gif" 
            width=16 align=absMiddle border=0> 0 comments | <A 
            href="http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=593&amp;showComments=true#addcomment"><IMG 
            height=16 
            src="入門 13 - 從ActionServlet到RequestProcessor - JAVAWORLD@TW.files/add_comment_16.gif" 
            width=16 align=absMiddle border=0></A> <A 
            href="http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=593&amp;showComments=true#addcomment">Add 
            Comment</A> </DIV></TD>
          <TD width=5>&nbsp;</TD>
          <TD vAlign=top width="25%">
            <DIV class=navmenu>
            <DIV class=menuheading>Page Operations</DIV>
            <DIV class=menuitems>
            <DIV class=operations>
            <UL>
              <LI><A accessKey=i 
              href="http://www.javaworld.com.tw/confluence/pages/pageinfo.action?pageId=593"><IMG 
              title="Page Information" height=16 
              src="入門 13 - 從ActionServlet到RequestProcessor - JAVAWORLD@TW.files/about_16.gif" 
              width=16 align=absMiddle border=0></A><SPAN class=label> <A 
              href="http://www.javaworld.com.tw/confluence/pages/pageinfo.action?pageId=593">Page 
              Information</A></SPAN> 
              <LI><A 
              href="http://www.javaworld.com.tw/confluence/pages/viewpreviousversions.action?pageId=593"><IMG 
              title="Page History" height=16 
              src="入門 13 - 從ActionServlet到RequestProcessor - JAVAWORLD@TW.files/history_16.gif" 
              width=16 align=absMiddle border=0></A><SPAN class=label> <A 
              href="http://www.javaworld.com.tw/confluence/pages/viewpreviousversions.action?pageId=593">Page 
              History</A></SPAN> </LI></UL>
            <UL>
              <LI><A 
              href="http://www.javaworld.com.tw/confluence/display/opensrc/Home"><IMG 
              title="Space Homepage" height=16 
              src="入門 13 - 從ActionServlet到RequestProcessor - JAVAWORLD@TW.files/home_16.gif" 
              width=16 align=absMiddle border=0></A><SPAN class=label> <A 
              href="http://www.javaworld.com.tw/confluence/display/opensrc/Home">Space 
              Homepage</A></SPAN> 
              <LI><A 
              href="http://www.javaworld.com.tw/confluence/spaces/viewspacesummary.action?key=opensrc"><IMG 
              title="Space Summary" height=16 
              src="入門 13 - 從ActionServlet到RequestProcessor - JAVAWORLD@TW.files/web_16.gif" 
              width=16 align=absMiddle border=0></A><SPAN class=label> <A 
              href="http://www.javaworld.com.tw/confluence/spaces/viewspacesummary.action?key=opensrc">Space 
              Summary</A></SPAN> </LI></UL></DIV>
            <P>
            <DIV class=infopanel-heading>Incoming Links: <SPAN 
            class=smallfont>(<A 
            href="http://www.javaworld.com.tw/confluence/pages/pageinfo.action?pageId=593#incoming">more</A>)</SPAN> 
            </DIV><IMG title=Struts入門 height=16 
            src="入門 13 - 從ActionServlet到RequestProcessor - JAVAWORLD@TW.files/docs_16.gif" 
            width=16 align=absMiddle border=0> <A 
            href="http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=1958">Struts入門</A> 
            <BR>
            <P></P>
            <P>
            <DIV class=infopanel-heading>Hot Referrers: <SPAN 
            class=smallfont>(<A 
            href="http://www.javaworld.com.tw/confluence/pages/pageinfo.action?pageId=593#referers">more</A>)</SPAN> 
            </DIV><SPAN class=smallerfont><A 
            title=http://140.138.150.106/confluence/pages/viewpage.action?pageId=593 
            href="http://140.138.150.106/confluence/pages/viewpage.action?pageId=593">140.138.150.106/confluence/pa...</A> 
            (28) <BR><A 
            title=http://www.jsptw.com/confluence/pages/viewpage.action?pageId=1958 
            href="http://www.jsptw.com/confluence/pages/viewpage.action?pageId=1958">http://www.jsptw.com/confluence/pages/viewpage.action?pageId=1958</A> 
            (19) <BR><A 
            title=http://javaworld.com.tw/confluence/pages/viewpage.action?pageId=1958 
            href="http://javaworld.com.tw/confluence/pages/viewpage.action?pageId=1958">javaworld.com.tw/confluence/p...</A> 
            (9) <BR><A 
            title=http://www.baidu.com/s?lm=0&amp;si=&amp;rn=10&amp;ie=gb2312&amp;ct=0&amp;wd=actionservlet&amp;pn=10&amp;cl=3 
            href="http://www.baidu.com/s?lm=0&amp;si=&amp;rn=10&amp;ie=gb2312&amp;ct=0&amp;wd=actionservlet&amp;pn=10&amp;cl=3">http://www.baidu.com/s?lm=0&amp;si=&amp;rn=10&amp;ie=gb2312&amp;ct=0&amp;wd=actionservlet&amp;pn=10&amp;cl=3</A> 
            (8) <BR><A 
            title=http://140.138.150.106/confluence/pages/viewpage.action?pageId=593&amp;showComments=true 
            href="http://140.138.150.106/confluence/pages/viewpage.action?pageId=593&amp;showComments=true">140.138.150.106/confluence/pa...</A> 
            (7) <BR><A 
            title=http://140.138.150.106/confluence/pages/viewpage.action?pageId=593&amp;showComments=false 
            href="http://140.138.150.106/confluence/pages/viewpage.action?pageId=593&amp;showComments=false">140.138.150.106/confluence/pa...</A> 
            (7) <BR><A 
            title=http://140.138.150.106/confluence/pages/viewpage.action?pageId=1958 
            href="http://140.138.150.106/confluence/pages/viewpage.action?pageId=1958">140.138.150.106/confluence/pa...</A> 
            (7) <BR><A 
            title=http://www.google.com.tw/search?hl=zh-TW&amp;q=requestProcessor&amp;meta=cr%3DcountryTW 
            href="http://www.google.com.tw/search?hl=zh-TW&amp;q=requestProcessor&amp;meta=cr%3DcountryTW">Google: 
            requestProcessor</A> (4) <BR><A 
            title=http://www.baidu.com/baidu?wd=requestprocessor&amp;cl=3 
            href="http://www.baidu.com/baidu?wd=requestprocessor&amp;cl=3">http://www.baidu.com/baidu?wd=requestprocessor&amp;cl=3</A> 
            (3) <BR><A title=http://www.baidu.com/s?wd=RequestProcessor&amp;cl=3 
            href="http://www.baidu.com/s?wd=RequestProcessor&amp;cl=3">http://www.baidu.com/s?wd=RequestProcessor&amp;cl=3</A> 
            (3) <BR></SPAN>
            <P></P></DIV></DIV>
            <DIV></DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV>
<DIV class=license-nonprofit>This site is running on Atlassian <B><A 
href="http://www.atlassian.com/c/conf/10137">Confluence</A></B> with a free 
<B>Open Source Project / Non-profit License</B> (<A 
href="http://www.atlassian.com/c/conf/10138">license details</A>).<BR><A 
href="http://www.atlassian.com/c/conf/10137">Confluence</A> is professional 
wiki, blog and knowledge management tool. <A 
href="http://www.atlassian.com/c/conf/10137">Evaluate Confluence for your 
organisation</A>.<BR></DIV>
<DIV class=bottomshadow></DIV>
<DIV class=smalltext id=poweredby>Powered by <A class=smalltext 
href="http://www.atlassian.com/software/confluence/default.jsp?clicked=footer">Atlassian 
Confluence</A> (Version: 1.3.5 Build:#122 Mar 01, 2005) - <A class=smalltext 
href="http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470">Bug/feature 
request</A> - <A 
href="http://www.javaworld.com.tw/confluence/administrators.action">Contact 
Administrators</A> <BR></DIV></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -