struts2ÖÐactionÈçºÎ»ñÈ¡jspÒ³Ãæ²ÎÊý
1. ActionContext
ÔÚStruts2¿ª·¢ÖÐ,³ýÁ˽«ÇëÇó²ÎÊý×Ô¶¯ÉèÖõ½ActionµÄ×Ö¶ÎÖÐ,ÎÒÃÇÍùÍùÒ²ÐèÒªÔÚActionÀïÖ±½Ó»ñÈ¡ÇëÇó(Request)»ò»á»°
(Session)µÄһЩÐÅÏ¢,ÉõÖÁÐèÒªÖ±½Ó¶ÔJavaServlet
HttpµÄÇëÇó(HttpServletRequest),ÏìÓ¦(HttpServletResponse)²Ù×÷.
ÎÒÃÇÐèÒªÔÚActionÖÐÈ¡µÃrequestÇëÇó²ÎÊý"username"µÄÖµ:
ActionContext context = ActionContext.getContext();
Map params = context.getParameters();
String username = (String) params.get("username");
ActionContext(com.opensymphony.xwork.ActionContext)ÊÇActionÖ´ÐÐʱµÄÉÏÏÂÎÄ,ÉÏÏÂÎÄ¿ÉÒÔ¿´
×÷ÊÇÒ»¸öÈÝÆ÷(ÆäʵÎÒÃÇÕâÀïµÄÈÝÆ÷¾ÍÊÇÒ»¸öMap¶øÒÑ),Ëü´æ·ÅµÄÊÇActionÔÚÖ´ÐÐʱÐèÒªÓõ½µÄ¶ÔÏó. Ò»°ãÇé¿ö,
ÎÒÃǵÄActionContext¶¼ÊÇͨ¹ý: ActionContext context = (ActionContext)
actionContext.get();À´»ñÈ¡µÄ.ÎÒÃÇÔÙÀ´¿´¿´ÕâÀïµÄactionContext¶ÔÏóµÄ´´½¨:
static ThreadLocal actionContext = new ActionContextThreadLocal();
ActionContextThreadLocalÊÇʵÏÖThreadLocalµÄÒ»¸öÄÚ²¿Àà.ThreadLocal¿ÉÒÔÃüÃûΪ"Ïֲ߳̾¿±ä
Á¿",ËüΪÿһ¸öʹÓøñäÁ¿µÄÏ̶߳¼Ìṩһ¸ö±äÁ¿ÖµµÄ¸±±¾,ʹÿһ¸öÏ̶߳¼¿ÉÒÔ¶ÀÁ¢µØ¸Ä±ä×Ô¼ºµÄ¸±±¾,¶ø²»»áºÍÆäËüÏ̵߳ĸ±±¾³åÍ».ÕâÑù,ÎÒÃÇ
ActionContextÀïµÄÊôÐÔÖ»»áÔÚ¶ÔÓ¦µÄµ±Ç°ÇëÇóÏß³ÌÖпɼû,´Ó¶ø±£Ö¤ËüÊÇḬ̈߳²È«µÄ.
ͨ¹ýActionContextÈ¡µÃHttpSession: Map session = ActionContext.getContext().getSession();
2. ServletActionContext
ServletActionContext(com.opensymphony.webwork.
ServletActionContext),Õâ¸öÀàÖ±½Ó¼Ì³ÐÁËÎÒÃÇÉÏÃæ½éÉܵÄActionContext,ËüÌṩÁËÖ±½ÓÓëServletÏà¹Ø¶ÔÏó·ÃÎʵÄ
¹¦ÄÜ,Ëü¿ÉÒÔÈ¡µÃµÄ¶ÔÏóÓÐ:
(1)javax.servlet.http.HttpServletRequest : HTTPservletÇëÇó¶ÔÏó
(2)javax.servlet.http.HttpServletResponse : HTTPservletÏàÓ¦¶ÔÏó
(3)javax.servlet.ServletContext : ServletÉÏÏÂÎÄÐÅÏ¢
(4)javax.servlet.ServletConfig : ServletÅäÖöÔÏó
(5)javax.servlet.jsp.PageContext : HttpÒ³ÃæÉÏÏÂÎÄ
ÈçºÎ´ÓServletActionContextÀïÈ¡µÃServletµÄÏà¹Ø¶ÔÏó:
<1>È¡µÃHttpServletRequest¶ÔÏó: HttpServletRequest request = ServletActionContext. getRequest();
<2>È¡µÃHttpSession¶ÔÏó: HttpSession session = ServletActionContext. getRequest().getSession();
3. Serv
Ïà¹ØÎĵµ£º
JSPÖеÄÌø×ª£º
(1). forward()·½·¨
ʹÓõ½javax.servlet.RequestDispatcherÀà
RequestDispatcher rd = getServletContext().getRequestDispatcher("url");
rd.forward(requestVar,requestVar); //´«µÝservletµÄÈë¿Ú²ÎÊý
/*forwardº¯ÊýÒѾ°ÑÔÒ³ÃæµÄrequest,response¶ÔÏó´«ÈëеÄÒ³Ãæ£¬Òò´ËÕâо ......
<%@ page contentType="text/html;charset=GBK"%>
<div id="divDisable" style="display: none;width:expression(document.body.offsetWidth); height:100%; z-index: 1000; position: absolute;left: 0px; top: 0px;filter:alpha(opacity=50); background-color:White">
</div>
<div id="divWaiti ......
ÏÈsunÌá³öµÄÊÇServletÌåϵ£¬Õâ¸öÌåϵʹµÃʹÓÃJAVAµÄ³ÌÐòÔ±Ò²ÄÜ¿ª·¢»ùÓÚB/S¼Ü¹¹µÄWEBÓ¦ÓóÌÐò£¬Ê¹ÓÃServletÀཫHTTPÇëÇóºÍÏìÓ¦·â×°ÔÚ±ê×¼JAVAÀàÖÐÀ´ÊµÏÖ¸÷ÖÖWEBÓ¦Ó÷½°¸¡£
Ëæ×Å´óÁ¿µÄB/S¼Ü¹¹³ÌÐò¿ª·¢³öÀ´ÒÔºó£¬ÈËÃÇ·¢ÏÖServletÀàµÄ±àдÊǷdz£·±ËöµÄ£¬Ö÷Òª¼¯ÖÐÔÚ¼¸¸öÎÊÌâÉÏ£ºÊ×ÏÈÓдóÁ¿ÈßÓà´úÂ룬ÕâЩ´úÂëÔÚÿ¸öservletÀàÖж ......
Ò»¡¢
ÔÚÒ»¸öÉè¼ÆÁ¼ºÃµÄWebÓ¦ÓÃÖУ¬¶¼»á×ÛºÏʹÓÃServletºÍJSP¼¼Êõ¡£Servlet¿ØÖÆÒµÎñÁ÷ת£¬JSPÔò¸ºÔðÒµÎñ´¦Àí½á¹ûµÄÏÔʾ¡£´Ëʱ£¬½«´óÁ¿Óõ½Öض¨Ïò¼¼Êõ¡£
¡¡¡¡Öض¨Ïò¼¼Êõ¿ÉÒÔ·ÖΪÁ½À࣬һÀàÊǿͻ§¶ËÖØ¶¨Ïò£¬Ò ......
²»Ëµ·Ï»°ÁË£¬¿´ÏÂÃæµÄÀý×Ó°É(ÀûÓÃstructsʵÏÖ£©£º
ÔÚWEB£INFÏÂÓÐÁ½¸öÒ³Ãæ£º a.jsp ºÍ b.jsp £¬ ÏÖÔÚҪʵÏÖ´Óa.jspÁ¬½Óµ½b.jsp
ÔÚa.jspÖУº
<html:link action= ......