struts2(6)

2019-04-14 11:22

14.4 ValueStack 14.4.1 ˵Ã÷

1¡¢ ValueStackÊÇÒ»¸ö½Ó¿Ú£¬ÔÚstruts2ÖÐʹÓÃOGNL±í´ïʽʵ¼ÊÉÏÊÇʹÓÃ

ʵÏÖÁËValueStack½Ó¿ÚµÄÀàOgnlValueStack,Õâ¸öÀàÊÇOgnlValueStackµÄ»ù´¡¡£

2¡¢ ValueStack¹á´©Õû¸öactionµÄÉúÃüÖÜÆÚ¡£Ã¿Ò»¸öactionʵÀý¶¼ÓµÓÐÒ»

¸öValueStack¶ÔÏ󡣯äÖб£´æÁ˵±Ç°action¶ÔÏóºÍÆäËûÏà¹Ø¶ÔÏó¡£ 3¡¢ Struts2°ÑValueStack¶ÔÏó±£´æÖÐÃûΪstruts.valueStackµÄrequestÓòÖС£

14.4.2 ValueStackÄÚ´æÍ¼

14.4.3 ValueStackµÄ×éÖ¯½á¹¹

´ÓͼÉÏ¿ÉÒÔ¿´³öOgnlValueStackºÍÎÒÃÇÓйصÄÄÚÈÝÓÐÁ½²¿·Ö£º¼´OgnlContext

ºÍCompoundRoot¡£ËùÒÔ°ÑÕâÁ½²¿·Ö¸ãÇå³þºÜÖØÒª¡£

14.4.4 14.4.4.1

OgnlContext×éÖ¯½á¹¹

_values

´ÓÉÏÊö¿ÉÒÔ¿´³ö£¬OgnlContextʵ¼ÊÉÏÓÐÒ»²¿·Ö¹¦ÄÜÊÇMap¡£ËùÒÔ¿ÉÒÔ¿´³ö_values¾ÍÊÇÒ»¸öMapÊôÐÔ¡£¶øÔËÐÐÒ»ÏÂÏÂÃæµÄ´úÂë¾Í¿ÉÒÔ¿´µ½£º //ÔÚrequestÓòÖÐÉèÖÃÒ»¸ö²ÎÊý ServletActionContext.getRequest().setAttribute(\name\//ÔÚrequestÓòÖÐÉèÖÃÒ»¸ö²ÎÊý ServletActionContext.getRequest().setAttribute(\//ÔÚsessionÓòÖÐÉèÖÃÒ»¸ö²ÎÊý ActionContext.getContext().getSession().put(\\//ÔÚsessionÓòÖÐÉèÖÃÒ»¸ö²ÎÊý ActionContext.getContext().getSession().put(\\//»ñÈ¡OGNLÖµÕ» ValueStack valueStack = ActionContext.getContext().getValueStack(); ÔÚ_valuesµÄmapÖУº key value application ApplicationMap request RequestMap action ×Ô¼ºÐ´µÄaction com.opensymphoSessionMap ny.xwork2.ActionContext.session

¶ørequestÖеÄֵΪ£º { req_psw=req_psw, req_username=req_username, __cleanup_recursion_counter=1, struts.valueStack=com.opensymphony.xwork2.ognl.OgnlValueStack@3d58b2, struts.actionMapping=org.apache.struts2.dispatcher.mapper.ActionMapping@1f713ed }

¿ÉÒÔ¿´³öÔÚ³ÌÐòÖдæ·ÅÔÚrequest×÷ÓÃÓòµÄÖµ±»·ÅÈëµ½ÁË_valuesµÄrequestÓòÖС£

¶ø

com.opensymphony.xwork2.ActionContext.sessionµÄֵΪ£º

{session_username=session_username, session_psw=session_psw} ´ÓÉÏͼÖпÉÒÔ¿´³öÔÚ³ÌÐòÖб»¼ÓÈëµ½sessionµÄÖµÔÚ_valuesÖÐÒ²ÌåÏÖ³öÀ´¡£

14.4.4.2 _root

´ÓͼÖпÉÒÔ¿´³ö_rootʵ¼ÊÉÏCompoundRootÀ࣬´ÓÀàµÄ×éÖ¯½á¹¹Í¼ÖпÉÒÔ¿´³ö£¬Õâ¸öÀàʵ¼ÊÉÏÊǼ̳ÐÁËArrayListÀ࣬Ҳ¾ÍÊÇ˵Õâ¸öÀà¾ßÓм¯ºÏµÄ¹¦ÄÜ¡£¶øÇÒÔÚĬÈÏÇé¿öÏ£¬¼¯ºÏÀàµÄµÚÒ»¸öΪValueStackAction£¬Ò²¾ÍÊÇÎÒÃÇ×Ô¼ºÐ´µÄaction¡£

14.5 ×Üͼ

˵Ã÷£º

1¡¢ ÉÏͼÊÇognlÍêÕûµÄÊý¾Ý½á¹¹Í¼£¬¿ÉÒÔÇåÎúµÃ¿´³öÊý¾ÝµÄ×é³É¡£ 2¡¢ ContextÖеÄ_rootºÍValueStackÖеÄroot(¶ÔÏóÕ»)ÀïµÄÊý¾Ý½á¹¹ºÍÖµÊÇ

Ò»ÑùµÄ¡£

3¡¢ Õâ¾ÍÒâζ×ÅÎÒÃÇÖ»ÐèÒª²Ù×÷OgnlContext¾Í¿ÉÒÔÍê³É¶ÔÊý¾ÝµÄ´æºÍÈ¡

µÄ²Ù×÷¡£

4¡¢ ValueStackÄÚ²¿ÓÐÁ½¸öÂß¼­µÄ×é³É²¿·Ö£º

a) ObjectStack

Struts»á°Ñ¶¯×÷ºÍÏà¹ØµÄ¶ÔÏóѹÈëµ½ObjectStackÖС£

b) ContextMap

Struts»á°ÑһЩӳÉä¹ØÏµÑ¹Èëµ½ContextMapÖÐ

14.6 ´æÊý¾Ý 14.6.1 MapÖдæÊý¾Ý

14.6.1.1 ·½·¨1

//ÏòmapÖдæ·ÅÊý¾Ý ServletActionContext.getRequest().setAttribute(\ServletActionContext.getRequest().setAttribute(\ActionContext.getContext().getSession().put(\ActionContext.getContext().getSession().put(\ÉÏÃæµÄ´úÂë¶¼ÊÇÍùContextMapÖдæ·ÅÊý¾Ý¡£ÒòΪÕâЩֵ¶¼ÊǾßÓÐÓ³Éä¹ØÏµµÄ¡£

14.6.1.2 ·½·¨2

ActionContext.getContext().put(\

ͨ¹ýÖ´ÐÐÉÏÊö´úÂë°Ñ¡±msg¡±ºÍ¡±msg_object¡±·ÅÈëµ½ÁËContextMapÖС£


struts2(6).doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ ÏÂÔØÊ§°Ü»òÕßÎĵµ²»ÍêÕû£¬ÇëÁªÏµ¿Í·þÈËÔ±½â¾ö£¡

ÏÂһƪ£º´ûºó¹ÜÀí¼ì²é·½°¸

Ïà¹ØÔĶÁ
±¾ÀàÅÅÐÐ
¡Á ×¢²á»áÔ±Ãâ·ÑÏÂÔØ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩

ÂíÉÏ×¢²á»áÔ±

×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£º QQ£º