1.概述
<P style="TEXT-INDENT: 25pt; MARGIN: 0cm 0cm 0pt" class=MsoNormal>在使用<SPAN lang=EN-US>struts2</SPAN>進行<SPAN lang=EN-US>web</SPAN>項目開發的時候,我們需要使用配置文件來解耦<SPAN lang=EN-US>action</SPAN>和視圖資源(例如:<SPAN lang=EN-US>jsp</SPAN>頁面)</FONT></SPAN></P>
<P style="TEXT-INDENT: 21pt; MARGIN: 0cm 0cm 0pt" class=MsoNormal>開發完某個功能之后,我們在頁面做一個操作(例如點擊一個按鈕),然后跳轉到另一個頁面,在調試的過程中,我們需要知道我的這個操作調用了哪個<SPAN lang=EN-US>action</SPAN>,并且<SPAN lang=EN-US>action</SPAN>執行之后,返回到哪個頁面,然后在<SPAN lang=EN-US>action</SPAN>中,或頁面上,或配置文件中來找到是否出錯</FONT></SPAN></P>
<P style="TEXT-INDENT: 21pt; MARGIN: 0cm 0cm 0pt" class=MsoNormal>一般的調試過程是:</SPAN></P>
<P class=MsoListParagraph>l </SPAN></SPAN>根據<SPAN lang=EN-US>url</SPAN>,在<SPAN lang=EN-US>struts2</SPAN>配置文件中找到該<SPAN lang=EN-US>url</SPAN>對應的配置信息</FONT></SPAN></P>
<P class=MsoListParagraph>l </SPAN></SPAN>然后根據配置信息,找到對應的<SPAN lang=EN-US>action</SPAN>類,以及對應的方法</FONT></SPAN></P>
<P class=MsoListParagraph>l </SPAN></SPAN>然后看該操作返回那個結果字符串</SPAN></P>
<P class=MsoListParagraph>l </SPAN></SPAN>再到配置文件中,找到該結果字符串對應的視圖資源位置</SPAN></P>
<P class=MsoListParagraph>l </SPAN></SPAN>最后找到視圖資源</SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt 21pt" class=MsoNormal>這個過程對開發人員來說,是繁瑣的,無聊的。</SPAN></P>
<P style="TEXT-INDENT: 21pt; MARGIN: 0cm 0cm 0pt" class=MsoNormal>我們要做的,就是省去上面的步驟,直接找到需要的調試相關信息</P>
2.功能列表
<P class=MsoListParagraph>l </SPAN></SPAN>用戶進行一個操作,如果經過<SPAN lang=EN-US>struts2</SPAN>處理,就會在控制臺打印相應的信息,信息如下:</FONT></SPAN></P>
<P style="TEXT-INDENT: 21pt; MARGIN: 0cm 0cm 0pt 21pt" class=MsoNormal>該操作的訪問方式:例如<SPAN lang=EN-US>POST</SPAN>或<SPAN lang=EN-US>GET</SPAN></FONT></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt 42pt" class=MsoNormal>調試<SPAN lang=EN-US>url</SPAN>地址:<SPAN lang=EN-US>url</SPAN>及參數<SPAN lang=EN-US>(POST</SPAN>方式的參數被轉為<SPAN lang=EN-US>GET</SPAN>方式<SPAN lang=EN-US>)</SPAN>,便于用<SPAN lang=EN-US>url</SPAN>直接調試</FONT></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt 42pt" class=MsoNormal>POST</SPAN>或<SPAN lang=EN-US>GET</SPAN>參數的多行顯示:每行顯示一個鍵值對,參數名稱<SPAN lang=EN-US>=</SPAN>參數值</FONT></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt 42pt" class=MsoNormal>執行的<SPAN lang=EN-US>action</SPAN>以及方法:便于快速找到該操作對應的<SPAN lang=EN-US>action</SPAN>及方法</FONT></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt 42pt" class=MsoNormal>該操作的執行時間(單位毫秒):便于確定該操作的執行效率</SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt 42pt" class=MsoNormal>該<SPAN lang=EN-US>action</SPAN>配置信息所在配置文件的路徑以及名稱:便于快速找到對應的配置文件</FONT></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt 42pt" class=MsoNormal>該<SPAN lang=EN-US>action</SPAN>配置信息在配置文件中的行數:便于快速找到配置該<SPAN lang=EN-US>action</SPAN>的位置</FONT></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt 42pt" class=MsoNormal>該<SPAN lang=EN-US>action</SPAN>返回的結果名稱:便于快速確定<SPAN lang=EN-US>action</SPAN>中方法返回的結果名稱</FONT></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt 42pt" class=MsoNormal>該<SPAN lang=EN-US>action</SPAN>返回的視圖位置:便于快速找到該操作返回的視圖資源的實際位置</FONT></SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt 42pt" class=MsoNormal>Session</SPAN>范圍中的信息:便于觀察<SPAN lang=EN-US>session</SPAN>中的信息</FONT></SPAN></P>
<P class=MsoListParagraph>l </SPAN></SPAN>方便的開關控制臺信息的顯示</SPAN></P>
<P style="TEXT-INDENT: 21pt; MARGIN: 0cm 0cm 0pt 21pt" class=MsoNormal>通過配置<SPAN lang=EN-US>struts.xml</SPAN>文件中的<SPAN lang=EN-US>devMode</SPAN>的值為<SPAN lang=EN-US>true</SPAN>或<SPAN lang=EN-US>false</SPAN>,來啟用或停用控制臺的提示信息,從而達到在開發的時候,設置<SPAN lang=EN-US>devMode=true(</SPAN>打印信息<SPAN lang=EN-US>)</SPAN>,在程序上線的時候,設置<SPAN lang=EN-US>devMode=false(</SPAN>不打印信息<SPAN lang=EN-US>)</SPAN>,不會造成效率的影響。</FONT></SPAN></P>
<P style="TEXT-INDENT: 21pt; MARGIN: 0cm 0cm 0pt 21pt" class=MsoNormal>或者在<SPAN lang=EN-US>struts.xml</SPAN>中去掉該插件相關的攔截器配置(在項目發布時,可以不包含該插件包),來關閉調試信息。</FONT></SPAN></P>
<P class=MsoListParagraph>l </SPAN></SPAN>可自定義提示前綴和提示信息</SPAN></P>
<P style="MARGIN: 0cm 0cm 0pt 21pt" class=MsoListParagraph>在<SPAN lang=EN-US>configdebug.properties</SPAN>屬性文件中進行配置。</FONT></SPAN></P>