1.Struts 2çResult Type
2.Struts 2Result Type
Struts 2çResult Type
å¨é»è®¤æ¶ï¼<result>æ ç¾çtypeå±æ§å¼æ¯âdispatcherâï¼å®é ä¸å°±æ¯è½¬åï¼forwardï¼ãå¼å人åå¯ä»¥æ ¹æ®èªå·±çéè¦æå®ä¸åçç±»åï¼å¦redirectãstreamçãå¦ä¸é¢ä»£ç æ示ï¼<result name=save type=redirect>
/result.jsp
</result>
è¿æ¤result-typeå¯ä»¥å¨struts2-core-2.0..1.jarå æstruts2æºä»£ç ä¸çstruts-default.xmlæ件ä¸æ¾å°ï¼å¨è¿ä¸ªæ件ä¸æ¾å°<result-types>æ ç¾ï¼ææçresult-typeé½å¨éé¢å®ä¹äºã代ç å¦ä¸ï¼ <result-types><result-type name=chain class=com.opensymphony.xwork2.ActionChainResult/><result-type name=dispatcher class=org.apache.struts2.dispatcher.ServletDispatcherResult default=true/><result-type name=freemarker class=org.apache.struts2.views.freemarker.FreemarkerResult/><result-type name=.opensymphony.xwork2.ActionChainResultchainå ¶å®åªæ¯å¨ä¸ä¸ªactionæ§è¡å®æ¯ä¹åï¼forwardå°å¦å¤ä¸ä¸ªactionï¼æ以ä»ä»¬ä¹é´æ¯å ±äº«HttpServletRequestçãå¨ä½¿ç¨chainä½ä¸ºResultæ¶ï¼å¾å¾ä¼é å使ç¨ChainingInterceptorãChainingInterceptorçä½ç¨æ¯å¨Actionç´æ¥ä¼ éæ°æ®ãäºå®ä¸ï¼æºActionä¸ValueStackçæ°æ®ä¼è¢«åä¸æ¬¡Copyï¼è¿æ ·ï¼2个Actionä¸çæ°æ®é½å¨ValueStackä¸ï¼ä½¿å¾å¯¹äºåå°æ¥è¯´ï¼éè¿ValueStackæ¥åæ°æ®ï¼æ¯éæèå ±äº«çãæ¯å¦è¯´ï¼ä¸å¼ 页é¢ä¸ï¼ä½ å¯è½æ许å¤æ°æ®è¦æ¾ç¤ºï¼èæäºæ°æ®çè·åæ¹å¼å¯è½è¢«å¾å¤ä¸åç页é¢å ±äº«ï¼å ¸åæ¥è¯´ï¼âæ¨èæç« âè¿ä¸ªå°æ ç®çæ°æ®è·åï¼å¯è½ä¼è¢«å¾å¤é¡µé¢æå ±äº«ï¼ãè¿ç§æ åµä¸ï¼å¯ä»¥æè¿é¨åé»è¾æ½åå°ä¸ä¸ªç¬ç«Actionä¸ï¼å¹¶ä½¿ç¨chainï¼å°è¿ä¸ªActionä¸ä¸»Action串èèµ·æ¥ãè¿æ ·ï¼æåå°è¾¾é¡µé¢çæ¶åï¼é¡µé¢å§ç»å¯ä»¥å¾å°æ¯ä¸ªActionä¸çæ°æ®ã
ä»å®æä¸è®²ï¼ä½¿ç¨chainä½ä¸ºResultä¹çç¡®åå¨çä¸é¢æ说ç许å¤é®é¢ï¼æ个人ä¹æ¯é常ä¸æ¨å´æ»¥ç¨è¿ç§Resultãå°¤å ¶æ¯ï¼å¯¹äºä½¿ç¨SpringåHibernateçæåæ¥è¯´ï¼å¦æä½ å¼å¯OpenSessionInView模å¼ï¼é£ä¹Hibernateçsessionæ¯è·éHttpServletRequestçï¼æ以sessionå¨æ´ä¸ªactioné¾ä¸å ±äº«ãè¿ä¼ä¸ºæ们çç¼ç¨å¸¦æ¥æ大ç麻ç¦ãå 为æ们ç¥éHibernateçsessionä¼ä¿çä¸ä»½ä¸çº§ç¼åï¼å¨actioné¾ä¸ï¼å ±äº«ä¸çº§ç¼åæ çä¼ä¸ºä½ çè°è¯å·¥ä½å¸¦æ¥å¾å¤§çä¸æ¹ä¾¿ã
æ以ï¼è°¨æ 使ç¨chainä½ä¸ºä½ çResultï¼åºè¯¥æ为ä¸æ¡æä½³å®è·µã éå®åå°ä¸ä¸ªURL org.apache.struts2.dispatcher.ServletRedirectResultå¦æä½ å¨Actionæ§è¡å®æ¯åï¼å¸ææ§è¡å¦ä¸ä¸ªActionï¼æ2ç§æ¹å¼å¯ä¾éæ©ãä¸ç§æ¯forwardï¼å¦å¤ä¸ç§æ¯redirectãæå ³forwardåredirectçåºå«ï¼è¿éæå°±ä¸åå±å¼ï¼è¿åºè¯¥å±äºJavaç¨åºåçåºæ¬ç¥è¯ãå¨Struts2ä¸ï¼åå«å¯¹åºè¿ä¸¤ç§æ¹å¼çResultï¼å°±æ¯chainåredirectã
å æ¥è°è°redirectï¼æ¢ç¶æ¯éå®åï¼é£ä¹æºå°åä¸ç®æ å°åä¹é´æ¯2个ä¸åçHttpServletRequestãæ以ç®æ å°åå°æ æ³éè¿ValueStackçStruts2çç¹æ§æ¥è·åæºActionä¸çæ°æ®ã
åæ¶ï¼RedirectçResultæ¯æå¨é ç½®æ件ä¸ï¼è¯»å并解ææºActionä¸ValueStackçå¼ï¼å¹¶æ为åæ°ä¼ éå°Redirectçå°åä¸ã éå®åå°ä¸ä¸ªAction org.apache.struts2.dispatcher.ServletActionRedirectResult
Struts 2Result Type
在Struts 2中,源码标签的源码type属性默认设置为"dispatcher",即页面转发。源码但开发者可以根据项目需求选择其他类型,源码比如redirect、源码印染能耗指标源码stream等。源码电脑源码编程器上声音中例如,源码以下代码展示了如何指定redirect类型:
这些result-type的源码定义可以在struts2-core-2.0..1.jar包或源代码的struts-default.xml文件中找到,该文件包含一个标签,源码定义了各种result-type,源码如下所示:
- "dispatcher"通常处理JSP页面的源码转发。
- "FreemarkerResult"用于处理FreeMarker模板。源码
- "HttpHeaderResult"控制HTTP特殊行为。源码动漫的个人主页网页源码
- "StreamResult"将InputStream对象发送给浏览器,源码常用于文件下载和AJAX数据返回。源码
- "StreamResult"等效于在Servlet中直接输出流,用于输出、溯源码中盏哪里去买文档等二进制流。
配置示例:
image/jpeg
StreamResult支持参数控制输出流。"VelocityResult"处理Velocity模板,"XSLTResult"处理XML/XSLT模板,负2分之一源码"PlainTextResult"则显示原始文件内容。
"chain"(ActionChainResult)用于处理Action链,Action之间的数据共享通过ChainingInterceptor实现,但这可能会导致Spring和Hibernate session共享问题,不建议滥用。
"redirect"(ServletRedirectResult)用于重定向到一个URL,与forward不同,目标地址无法获取源Action的数据。同时,redirect支持从源Action的ValueStack中读取值传递到目标URL。
"redirectAction"(ServletActionRedirectResult)则重定向到另一个Action。在选择redirect或forward时,应根据实际需求权衡利弊。
2024-12-23 00:412991人浏览
2024-12-23 00:25337人浏览
2024-12-23 00:17179人浏览
2024-12-22 23:311532人浏览
2024-12-22 23:092215人浏览
2024-12-22 22:512076人浏览
中国消费者报广州讯(陈晓莹记者 李青山)近日,记者获悉,广东12部门召开广东省联合打击野生动物违规交易专项执法行动暨联合打击非法制售口罩等防护用品专项执法行动电视电话会议。会议指出,关于应对新型冠状病
1.成都网页直播系统源码2.unity 动态图集3.unity动态图集4.dede网站模板怎么安装教程安装dede源码模板5.织梦图集内容怎么调用织梦内容页调用6.游戏引擎随笔 0x29:UE5 Lu
1.创世战车手游国际服如何2.创世棋牌手游3.创世战车手游下载国际服4.下列那支球队不是英格兰联赛的创世队伍创世战车手游国际服如何 下载地址:/azyx/jsby/chuangshijiuling