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ÄÚÖöÔÏó(9¸ö³£ÓõÄÄÚÖöÔÏó)
1.request¶ÔÏó
¿Í»§¶ËµÄÇëÇóÐÅÏ¢±»·â×°ÔÚrequest¶ÔÏóÖУ¬Í¨¹ýËü²ÅÄÜÁ˽⵽¿Í»§µÄÐèÇó£¬È»ºó×ö³öÏìÓ¦¡£ËüÊÇHttpServletRequestÀàµÄʵÀý¡£
ÐòºÅ ·½ ·¨ ˵ Ã÷
1 object getAttribute(String name) ·µ»ØÖ¸¶¨ÊôÐÔµÄÊôÐÔÖµ
2 Enumeration getAttr ......
JSPÒ³Ãæ¼ä´«µÝ²ÎÊý·½·¨½éÉÜ
±¾ÎĽéÉÜÁËJSPÒ³Ãæ¼ä´«µÝ²ÎÊýµÄ¼¸¸ö·½·¨¡£×îÖ±½ÓµÄ·½·¨¾ÍÊÇÖ±½ÓÔÚURLÇëÇóºóÌí¼Ó£¬²»¹ý¶à¸öÒ³ÃæµÄÇé¿ö»á¸´ÔÓһЩ¡£
JSPÒ³Ãæ¼ä´«µÝ²ÎÊýÊǾ³£ÐèҪʹÓõ½µÄ¹¦ÄÜ£¬ÓÐʱ»¹ÐèÒª¶à¸öJSPÒ³Ãæ¼ä´«µÝ²ÎÊý¡£ÏÂÃæ½éÉÜÒ»ÏÂʵÏֵķ½·¨¡£
£¨1£©Ö±½ÓÔÚURLÇëÇóºóÌí¼Ó
È磺< a href="thexuan.jsp?action=t ......
1 ±ê¼Ç´¦Àí³ÌÐòÀà
´¦ÀíÀà¼Ì³ÐTagSupportÀà²¢ÖØÔØdoStartTag()·½·¨,
Ôڸ÷½·¨ÖÐʹÓÃout.print();Êä³öÐèÒªµÄÊý¾Ýµ½Ê¹Óñ¾±êÇ©µÄjspÒ³Ãæ
package cn.xxx;
public class DateTag extends TagSupport {
private static final long serialVersionUID = 1L;
public int doStartTag() thr ......
ÏÈsunÌá³öµÄÊÇServletÌåϵ£¬Õâ¸öÌåϵʹµÃʹÓÃJAVAµÄ³ÌÐòÔ±Ò²ÄÜ¿ª·¢»ùÓÚB/S¼Ü¹¹µÄWEBÓ¦ÓóÌÐò£¬Ê¹ÓÃServletÀཫHTTPÇëÇóºÍÏìÓ¦·â×°ÔÚ±ê×¼JAVAÀàÖÐÀ´ÊµÏÖ¸÷ÖÖWEBÓ¦Ó÷½°¸¡£
Ëæ×Å´óÁ¿µÄB/S¼Ü¹¹³ÌÐò¿ª·¢³öÀ´ÒÔºó£¬ÈËÃÇ·¢ÏÖServletÀàµÄ±àдÊǷdz£·±ËöµÄ£¬Ö÷Òª¼¯ÖÐÔÚ¼¸¸öÎÊÌâÉÏ£ºÊ×ÏÈÓдóÁ¿ÈßÓà´úÂ룬ÕâЩ´úÂëÔÚÿ¸öservletÀàÖж ......
Ò»¡¢
ÔÚÒ»¸öÉè¼ÆÁ¼ºÃµÄWebÓ¦ÓÃÖУ¬¶¼»á×ÛºÏʹÓÃServletºÍJSP¼¼Êõ¡£Servlet¿ØÖÆÒµÎñÁ÷ת£¬JSPÔò¸ºÔðÒµÎñ´¦Àí½á¹ûµÄÏÔʾ¡£´Ëʱ£¬½«´óÁ¿Óõ½Öض¨Ïò¼¼Êõ¡£
¡¡¡¡Öض¨Ïò¼¼Êõ¿ÉÒÔ·ÖΪÁ½À࣬һÀàÊǿͻ§¶ËÖØ¶¨Ïò£¬Ò ......