structs2 result type介绍
result的目的就是告诉Struts2框架,在执行完一个Action后,需要系统做什么?是把一个视图资源呈现给用户还是执行另外一个Action,result配置起到了一个“路标”的作用。
result按照作用域范围可以分为局部result和全局result。
局部result:包含在Action定义中, result属性是一个Action的子元素。其作用范围只能在本Action中。
全局result:使用<global-result>来定义,其作用范围是所有的Action都可以使用。
其中type指定了result的类型,默认是dispatcher,该类型支持JSP视图技术。
对应子元素<param>,可以指定下面两个属性:
location:该属性定义了该视图对应的实际视图资源
parse:该参数指定是否可以在实际视图名字中使用OGNL表达式,Struts2框架默认该属性为true,即支持OGNL表达式。
如果没有指定result的name属性,则系统会默认为success;如果没有指定location属性,系统会把<result> </result>中间的字符串当作实际视图资源来处理。
2 result的类型
Struts2框架默认配置中已经提供了很多的result类型,可以打开struts-default.xml配置文件来查看。
chain:Action链式处理的结果类型,也就是将结果转发到这个action中。
chart:整合JFreeChart的结果类型
dispatcher:用于整合JSP的结果类型
freemarker:用于整合freemarker结果类型。
httpheader:用于控制特殊的HTTP行为的结果类型。
jasper:用于JasperReports整合的结果类型
jsf:用于整合JSF后的结果类型
redirect:实际上dispatcher和redirect的区别就是在于转发和重定向的区别。
redirect-action:用于直接redirect action。
stream:用于向浏览器返回一个Inputstream(用于文件下载)
tiles:用于整合Tiles后的结果类型。
velocity:用于整合Velocity的结果类型。
xslt:用于整合XML LT的结果类型。
plaintext:用于显示某个页面的源代码。
chain类型
Struts2框架支持配置多个Action组成一个链或者工作流来处理用户的请求,而Action链的实现,是通过拦截器 ChainingInterceptor完成的。 ChainingInterceptor在源执行完毕后,将源Action的用户请求参数、值栈、session的数据赋值给目的Action,也就是 说,在执行多个Action过程中,参数都是保留的。Struts2框架并不推荐开发者使用这种Action链式的结果类型,该框架推荐使用 redirect-action类型。
redirect类型
redirect结果类型与Struts2框架默认的结果类型dispatcher相对应。 到dispatcher类型是将请求转发到指定的视图资源,而redirect类型是重定向到指定的视图资源。重定向将会丢失所有的参数、值栈和请求属 性,即同时失去了Action的处理结果。而dispatcher是类型转发,将会把上述的所有数据资源转发给视图资源
redirect-action类型
redirect-action结果类型与redirect结果类型非常相似,都是重新生成一个新的请求,都是重新定向。
chain
用来处理Action链
com.opensymphony.xwork2.ActionChainResult
dispatcher
用来转向页面,通常处理JSP
org.apache.struts2.dispatcher.ServletDispatcherResult
freemaker
处理FreeMarker模板
org.apache.struts2.views.freemarker.FreemarkerResult
httpheader
控制特殊HTTP行为的结果类型
org.apache.struts2.dispatcher.HttpHeaderResult
redirect
重定向到一个URL
org.apache.struts2.dispatcher.ServletRedirectResult
redirectAction
重定向到一个Action
org.apache.struts2.dispatcher.ServletActionRedirectResult
stream
向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据
org.apache.struts2.dispatcher.StreamResult
velocity
处理Velocity模板
org.apache.struts2.dispatcher.VelocityResult
xslt
处理XML/XLST模板
org.apache.struts2.views.xslt.XSLTResult
plainText
显示原始文件内容,例如文件源代码
org.apache.struts2.dispatcher.PlainTextResult
redirect-action
重定向到一个Action
org.apache.struts2.dispatcher.ServletActionRedirectResult
plaintext
显示原始文件内容,例如文件源代码
org.apache.struts2.dispatcher.PlainTextResult
转载于:https://www.cnblogs.com/lechance/p/4373283.html
structs2 result type介绍相关推荐
- Struts2中Result类型介绍
1.在Struts2中,Result类型有12种,分别为dispatcher,redirect,chain,redirectAction,freemarker,httpheader,stream,ve ...
- 【web开发学习笔记】Structs2 Result学习笔记(三)带參数的结果集
Result学习笔记(三)带參数的结果集 第一部分:代码 //前端 <head> <meta http-equiv="Content-Type" content= ...
- no result type defined for type 'dispatch'mapped
自己打算弄个webwork测试问题时候,遇到个脑瘫的问题,配了xwork之后,死活找不到action,报There is no result type defined for type 'dispat ...
- Webwork2之Action Result Type(转载)
和Webwork1.x不同,Webwork2的Action执行完后,其Result对应一个 Result Type,而这个Result Type完全可以根据具体应用或环境自己进行 定义,只需实现com ...
- 【问题解决】mybatis 类型不匹配两种解决办法 -Result type not match for select id=“selectUser“ srcType: com.kuang.pojo
问题描述: Result type not match for select id="selectUser"srcType: com.kuang.pojo.UsertargetTy ...
- 面对不同种类的处理结果——result type=
Struts2中有很多不同种类的处理结果,有action也有视图文件.比较常见的情景就是我们要一个action链接到另一个action应该怎么做呢?我在这里就做了一个小例子 JSP文件内容 <% ...
- MapStruct Unknown property “xx“ in result type XXX. Did you mean “null“?
build报错 Unknown property "xx" in result type XXX. Did you mean "null"? 解决办法 pom. ...
- YOLOV5报错:RuntimeError: result type Float can‘t be cast to the desired output type long int
YOLOV5训练时报错: Traceback (most recent call last): File "train.py", line 626, in <module ...
- 训练yolo时报错RuntimeError: result type Float can‘t be cast to the desired output type __int64个人解决方案
运行YOLOv5 6.1和yolor的时候,训练都没能正常运行,均出现了如下错误: AutoAnchor: 5.00 anchors/target, 1.000 Best Possible Recal ...
最新文章
- Leetcode 剑指 Offer 57 - II. 和为s的连续正数序列 (每日一题 20210809)
- Linux 下的常用工具
- Educational Codeforces Round 101 (Rated for Div. 2) F. Power Sockets 哈希 + 乱搞
- C++里数组名+1和数组名的地址+1的区别
- 决策树——ID3和C4.5
- 最后解密的两弹元勋,众帅之帅朱光亚。
- .NET中方法的注意事项 明细
- Quartus-Modelsim仿真方法
- 蓝桥杯历年(省赛)试题汇总及试题详解
- 全国所有省份行政区域名标准(全国省份2字母拼音缩写标准参考)
- Web项目上线超详细流程
- 互联网大数据时代下亚马逊是如何解决数据存储的
- 后台ui大全(有这些你就够了)
- airpods pro是按压还是触摸_使用AirPods Pro一个月后,我是这么看待它的
- NAMD靶向分子动力学模拟Target molecular dynamic stimulation(附conf文件)
- 当年轻人开始拼命戒抖音
- 创业可以做什么项目,六个轻资产创业项目推荐
- 微博内容爬取——陈一发儿微博实例
- Word进阶学习总结
- github开源代码gpl协议和lgpl协议的区别
热门文章
- Mybatis 框架源码解读(详细流程图+时序图)
- Python精通-Python字符串格式化操作
- php高德地图计算距离接口,路径长度-距离/面积计算-示例中心-JS API 示例 | 高德地图API...
- Go 函数的 Map 型参数,会发生扩容后指向不同底层内存的事儿吗?
- 基于CentOS7,MySQL5.7的主从复制架构搭建实战
- MySQL中AES_ENCRYPT('密码','钥匙')函数 可以对字段值做加密处理
- 放弃redis使用mongodb做任务队列支持增删改管理
- js判断是否以xxx结尾
- 性能测试 Performance Test
- 满意度指数能够告诉我们什么?