📄 入門 06 - 使用action類別 - javaworld@tw.htm
字号:
<global-forwards>
<forward
name=<SPAN class=java-quote>"welcome"</SPAN>
path=<SPAN class=java-quote>"/Welcome.<SPAN class=java-keyword>do</SPAN>"</SPAN>/>
</global-forwards>
<action-mappings>
<action
path=<SPAN class=java-quote>"/Welcome"</SPAN>
type=<SPAN class=java-quote>"org.apache.struts.actions.ForwardAction"</SPAN>
parameter=<SPAN class=java-quote>"/pages/Welcome.jsp"</SPAN>/>
<action
path=<SPAN class=java-quote>"/GetAction"</SPAN>
type=<SPAN class=java-quote>"onlyfun.caterpillar.GetAction"</SPAN>>
<forward
name=<SPAN class=java-quote>"resource"</SPAN>
path=<SPAN class=java-quote>"/pages/showres.jsp"</SPAN>/>
</action>
</action-mappings>
<message-resources parameter=<SPAN class=java-quote>"resources.application"</SPAN>/>
</struts-config></PRE></DIV></DIV><BR> 在<action-mappings>定義中,如果是/GetAction開頭的URI請求,都會交給GetAction物件來處理,其中<forward>標籤定義了如果查找"resource"的forward對象,實際該forward的路徑,
showres.jsp的內容如下,只是簡單的顯示請求資源的路徑而已:
<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>showres.jsp</B></DIV>
<DIV class=codeContent><PRE><%@ taglib uri=<SPAN class=java-quote>"/tags/struts-bean"</SPAN> prefix=<SPAN class=java-quote>"bean"</SPAN> %>
<%@ taglib uri=<SPAN class=java-quote>"/tags/struts-html"</SPAN> prefix=<SPAN class=java-quote>"html"</SPAN> %>
<%@page contentType=<SPAN class=java-quote>"text/html; charset=Big5"</SPAN>%>
<html:html locale=<SPAN class=java-quote>"<SPAN class=java-keyword>true</SPAN>"</SPAN>>
<head>
<title><bean:message key=<SPAN class=java-quote>"welcome.title"</SPAN>/></title>
<html:base/>
</head>
<body bgcolor=<SPAN class=java-quote>"white"</SPAN>>
<H1>請求資源 ${ resource }</H1>
</body>
</html:html></PRE></DIV></DIV><BR> 啟動Servlet容器,並使用http://localhost:8080/HelloStruts/GetAction.do?resource=/images/struts.jpg來瀏覽,您會得到以下的內容:
<DIV class=code
style="BORDER-TOP-STYLE: solid; BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; BORDER-BOTTOM-STYLE: solid">
<DIV class=codeContent><PRE><html lang=<SPAN class=java-quote>"zh"</SPAN>>
<head>
<title>哈囉!Struts!</title>
<base href=<SPAN class=java-quote>"http:<SPAN class=java-comment>//localhost:8080/HelloStruts/pages/showres.jsp"</SPAN>></SPAN>
</head>
<body bgcolor=<SPAN class=java-quote>"white"</SPAN>>
<H1>請求資源 /images/struts.jpg</H1>
</body>
</html></PRE></DIV></DIV><BR> Action物件是執行工作的物件,它主要的工作通常有:<BR>*驗證使用者的進程狀態<BR>*進一步驗證表單物件的資訊<BR>*更新應用程式中物件的狀態<BR>*處理客戶端的請求<BR>*返回ActionForward給ActionServlet<BR> 為了要能夠重用Action物件,通常建議不要在Action中加入過多的邏輯,普遍認為Action物件也應屬於控制器角色,除了以上必要的工作之外,建議將與業務相關的工作交給輔助類別,減少Action物件中的邏輯,以使得Action物件容易理解它的職責。<BR> 基本上不只有Action物件應保持職責清晰,就Struts而言,它的工作是輔助建議MVC/Model
2架構,每個相關的組件除了這個目的之外,沒有其它的目的,Struts建立起來的架構也鼓勵重用,應當將業務相關的邏輯交由其它的物件來處理,而不是交給Struts組件。
<!-- 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=424" dc:identifier="http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=424" dc:title="入門 06 - 使用Action類別" trackback:ping="http://www.javaworld.com.tw/confluence/rpc/trackback/424"/></rdf:RDF>-->
<P>
<DIV class=greybox><IMG height=16
src="入門 06 - 使用Action類別 - 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=424&showComments=true#addcomment"><IMG
height=16
src="入門 06 - 使用Action類別 - 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=424&showComments=true#addcomment">Add
Comment</A> </DIV></TD>
<TD width=5> </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=424"><IMG
title="Page Information" height=16
src="入門 06 - 使用Action類別 - 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=424">Page
Information</A></SPAN>
<LI><A
href="http://www.javaworld.com.tw/confluence/pages/viewpreviousversions.action?pageId=424"><IMG
title="Page History" height=16
src="入門 06 - 使用Action類別 - 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=424">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="入門 06 - 使用Action類別 - 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="入門 06 - 使用Action類別 - 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=424#incoming">more</A>)</SPAN>
</DIV><IMG title=Struts入門 height=16
src="入門 06 - 使用Action類別 - 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=424#referers">more</A>)</SPAN>
</DIV><SPAN class=smallerfont><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>
(32) <BR><A
title=http://140.138.150.106/confluence/pages/listpages-dirview.action?key=opensrc
href="http://140.138.150.106/confluence/pages/listpages-dirview.action?key=opensrc">140.138.150.106/confluence/pa...</A>
(32) <BR><A
title=http://140.138.150.106/confluence/pages/viewpage.action?pageId=424
href="http://140.138.150.106/confluence/pages/viewpage.action?pageId=424">140.138.150.106/confluence/pa...</A>
(30) <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>
(10) <BR><A
title=http://140.138.150.106/confluence/pages/viewpage.action?pageId=424&showComments=true
href="http://140.138.150.106/confluence/pages/viewpage.action?pageId=424&showComments=true">140.138.150.106/confluence/pa...</A>
(8) <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>
(7) <BR><A
title=http://140.138.150.106/confluence/pages/viewpage.action?pageId=424&showComments=false
href="http://140.138.150.106/confluence/pages/viewpage.action?pageId=424&showComments=false">140.138.150.106/confluence/pa...</A>
(7) <BR><A
title=http://www.google.com.tw/search?hl=zh-TW&ie=UTF-8&q=JSP+action+form&btnG=%E6%90%9C%E5%B0%8B&meta=lr%3Dlang_zh-CN%7Clang_zh-TW
href="http://www.google.com.tw/search?hl=zh-TW&ie=UTF-8&q=JSP+action+form&btnG=%E6%90%9C%E5%B0%8B&meta=lr%3Dlang_zh-CN%7Clang_zh-TW">Google:
JSP action form</A> (2) <BR><A
title=http://javaworld.com.tw/confluence/pages/viewpage.action?pageId=1958&focusedCommentId=2302
href="http://javaworld.com.tw/confluence/pages/viewpage.action?pageId=1958&focusedCommentId=2302">javaworld.com.tw/confluence/p...</A>
(2) <BR><A
title=http://www.baidu.com/baidu?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=struts+1%2E1+%D1%E9%D6%A4&pn=50&cl=3
href="http://www.baidu.com/baidu?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=struts+1%2E1+%D1%E9%D6%A4&pn=50&cl=3">http://www.baidu.com/baidu?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=struts+1%2E1+%D1%E9%D6%A4&pn=50&cl=3</A>
(2) <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 + -