- 浏览: 890624 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
zzuliuli:
很实用,一直关注
mysql的执行计划 -
rxin2009:
你好,最近在解决redis数据同步的问题,找到了tedis,但 ...
taobao/tedis的redis集群 -
zhangping2056:
楼主接下来要考虑页面静态化与细节上面的东西了
Nginx与Redis解决高并发问题 -
XieFuQ:
Tomcat的重启shell脚本 -
jovinlee:
jovinlee 写道 jov ...
Tomcat的重启shell脚本
一个提交到服务器的处理通常可以分为两个阶段,第一个阶段查询服务器状态(查询或者更新数据库),第二个阶段选择一个合适的结果页面其返回给用户(这里要讲的Result的内容)。
Struts2提供了对不同种类返回结果的支持,常见的有JSP,FreeMarker,Velocity等。
Struts2支持的不同类型的返回结果为:
名字
|
说明
|
Chain Result
|
用来处理Action链
|
Dispatcher Result
|
用来转向页面,通常处理JSP
|
FreeMarker Result
|
处理FreeMarker模板
|
HttpHeader Result
|
用来控制特殊的Http行为
|
Redirect Result
|
重定向到一个URL
|
Redirect Action Result
|
重定向到一个Action
|
Stream Result
|
向浏览器发送InputSream对象,通常用来处理文件下载
|
Velocity Result
|
处理Velocity模板
|
XLS Result
|
处理XML/XLST模板
|
PlainText Result
|
显示原始文件内容,例如文件源代码
|
S2PLUGINS:Tiles Result
|
结合Tile使用
|
另外第三方的Result类型还包括JasperReports Plugin,专门用来处理JasperReport类型的报表输出。
在struts-default.xml文件中已经有了对于所有类型Result的定义:
<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="httpheader"
class="org.apache.struts2.dispatcher.HttpHeaderResult"/>
<result-type name="redirect"
class="org.apache.struts2.dispatcher.ServletRedirectResult"/>
<result-type name="redirectAction"
class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>
<result-type name="stream"
class="org.apache.struts2.dispatcher.StreamResult"/>
<result-type name="velocity"
class="org.apache.struts2.dispatcher.VelocityResult"/>
<result-type name="xslt"
class="org.apache.struts2.views.xslt.XSLTResult"/>
<result-type name="plainText"
class="org.apache.struts2.dispatcher.PlainTextResult" />
<!-- Deprecated name form scheduled for removal in Struts 2.1.0.
The camelCase versions are preferred. See ww-1707 -->
<result-type name="redirect-action"
class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>
<result-type name="plaintext"
class="org.apache.struts2.dispatcher.PlainTextResult" />
</result-types>
从上述代码中可以看出在不指定Result类型的时候使用dispatcher类型。
定义一个Result值,
<result name="success" type="dispatcher">
<param name="location">/ThankYou.jsp</param>
</result>
由于type默认值是dispatcher,所以这里不需要定义,另外name的默认值为success所以这里也不需要定义。
上述代码可以简写为:
<result>
<param name="location">/ThankYou.jsp</param>
</result>
另外location参数也可以直接卸载result标签内部,所以上述代码的最简单的写法为:
<result>/ThankYou.jsp</result>
我们也可以定义多个不同的Result
<action name="Hello">
<result>/hello/Result.jsp</result>
<result name="error">/hello/Error.jsp</result>
<result name="input">/hello/Input.jsp</result>
</action>
上述代码的含义为,名字为Hello的Action有三个返回结果,并且都是dispatcher类型(默认类型),这三个返回值的名字分别为success(默认值),error,input,对应的页面的路径分别为/hello/Result.jsp,/hello/Error.jsp,/hello/Input.jsp。
有些时候我们需要一个定义在全局的Result,这个时候我们可以在package内部定义全局的Result,例如:
<global-results>
<result name="error">/Error.jsp</result>
<result name="invalid.token">/Error.jsp</result>
<result name="login" type="redirect-action">Logon!input</result>
</global-results>
动态返回结果
有些时候,只有当Action执行完璧的时候我们才知道要返回哪个结果,这个时候我们可以在Action内部定义一个属性,这个属性用来存储Action执行完璧之后的Result值,例如:
private String nextAction;
public String getNextAction() {
return nextAction;
}
在strutx.xml配置文件中,我们可以使用${nextAction}来引用到Action中的属性,通过${nextAction}表示的内容来动态的返回结果,例如:
<action name="fragment" class="FragmentAction">
<result name="next" type="redirect-action">${nextAction}</result>
</action>
上述Action的execute方法返回next的时候,还需要根据nextAction的属性来判断具体定位到哪个Action。
发表评论
-
tomcat假死原因分析
2018-10-24 18:36 0最近监控服务发现有台tomcat 的应用出现了无法访问的情 ... -
tomcat无法正常关闭问题分析及解决
2018-10-24 18:15 0问题描述 通常,我们都会直接使用tomcat提供的脚本 ... -
搭建Tomcat集群&通过Redis缓存共享session的一种流行方案
2018-10-24 18:04 0为什么要共享session? 我们使用单台Tomcat ... -
tomcat7 性能优化,提高并发
2018-10-24 15:46 01. 目的 通过优化tomcat提高网站的并发能力。当我 ... -
linux下Tomcat多实例配置
2018-10-24 14:29 01 环境 centos7系统、 ... -
关于在eclipse中配置tomcat
2017-04-07 13:56 01 先下载tomcatPluginV33.zip,并解压到e ... -
tomcat 性能优化
2017-02-10 15:09 0tomcat默认参数是为开发环境制定,而非适合生产环境,尤其 ... -
Web安全测试-Nikto漏洞扫描工具检测
2015-12-27 17:37 6196本文已发表在专家专栏:[url]http://netsecu ... -
Web安全测试-WebScarab工具介绍
2015-12-27 17:32 18541.1 Webscarab 【功能】 WebSca ... -
深入理解HTTP Session
2015-08-18 13:44 715http://lavasoft.blog.51cto ... -
网站安全之——tomcat新特性
2015-01-18 21:27 890http://itlab.idcquan.com/Java/ ... -
网站安全之——session劫持
2015-01-18 21:25 2754转自:http://www.cnblog ... -
SpringMVC 登陆拦截器实现登陆控制
2014-10-24 11:54 865思路,先登陆后,将登陆信息存储在session中,然后通过拦 ... -
Nginx安装(可用)
2014-10-16 13:48 931转自:http://www.nginx.cn/install ... -
Nginx 的启动、停止、平滑重启、信号控制和平滑升级
2014-10-16 11:04 850转自:http://zachary-guo.iteye.co ... -
REST风格的应用程序实现
2014-09-30 15:36 1561以前就是觉得 /category/ ... -
Http隧道(tunnel)技术与Proxy
2014-09-12 11:01 6091转自: http://www.fenesky.com/blog ... -
网站性能优化:cache-control设置详解
2014-09-12 09:01 12762转自:http://www.ggseo.cn/blog/pos ... -
外网tomcat配置
2014-08-13 16:04 10<?xml version='1.0' encodi ... -
jquery ajax dataType有哪些
2014-07-04 16:38 793预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 ...
相关推荐
Struts2 Result 配置详解 Struts2 框架中 Result 配置是一种非常重要的配置,它直接影响着应用程序的执行结果。Result 配置通常用于定义 Action 的执行结果,例如将结果.redirect 到一个新的 URL,或者将结果....
除了默认的Dispatcher Result,Struts2还提供了多种内置的Result Types,如Redirect、RedirectAction、Stream、Httpheader等。每种Result Type都有其特定的用途: 1. **Redirect**:此结果类型会触发HTTP的302临时...
4. **结果类型(Result Types)** - 结果类型决定了Action执行后如何返回结果,如重定向、转发、生成JSON或XML数据等。默认的Result是dispatcher,它将结果渲染到JSP页面。 5. **动态方法调用(Dynamic Method ...
4. **结果类型(Result Types)**:Struts2支持多种结果类型,如`dispatcher`(默认,将结果转发到JSP页面)、`stream`(用于文件下载)、`redirect`(重定向URL)等,可以根据不同的需求选择合适的结果类型。...
4. **结果类型(Result Types)**:结果类型决定了Action执行完成后如何展示结果。常见的结果类型有JSP、FreeMarker、Velocity等。在`struts.xml`中,你可以看到如何定义Action的各个结果。 5. **模型(Model)**:...
4. **结果类型(Result Types)**:结果类型定义了Action执行后如何返回响应。常见的结果类型有`dispatcher`(转发到JSP页面)、`stream`(输出流,如文件下载)和`redirect`(重定向)。 5. **OGNL(Object-Graph ...
5. **结果类型(Result Types)**:`org.apache.struts2.dispatcher.mapper`包中的`ResultMapper`接口及其实现类,定义了如何根据Action的结果名映射到实际的视图资源,比如JSP页面或FreeMarker模板。 6. **插件...
5. **结果类型(Result Types)**:Struts2支持多种结果类型,如dispatcher(转发到JSP页面),stream(下载文件),redirect(重定向)等,可以根据不同需求选择合适的结果类型。 6. **OGNL(Object-Graph ...
Struts2中的`ResultTypes`定义了不同的结果处理方式,例如可以重定向到另一个页面或执行特定的动作。拦截器(Interceptors)则是在动作执行前后进行的预处理或后处理操作,如权限验证、数据绑定等。Struts2通过定义...
开发者可能需要深入理解Struts2的拦截器(Interceptors)、结果类型(Result Types)以及模板引擎(如Freemarker或JSP)的工作原理。 在文件名称列表中,我们看到两个文件:`fielderror_span.ftl`和`fielderror.ftl...
<result-type name="json" class="org.apache.struts2.json.JSONResult"/> </result-types> <interceptor name="json" class="org.apache.struts2.json.JSONInterceptor"/> ``` 这样,Struts2就能够识别`...
9. **Struts2 Action and Result Types**:例如,`struts2-struts1-plugin.jar`允许Struts2与Struts1应用进行交互,而`struts2-gwt-plugin.jar`则提供了与Google Web Toolkit(GWT)的集成。 10. **Struts2 ...
**jQuery与Struts2整合详解** 在Web开发中,jQuery是一个强大的JavaScript库,它极大地简化了JavaScript的使用,使得前端交互更加便捷高效。而Struts2作为一款成熟的MVC框架,广泛应用于Java后端开发,提供了强大的...
<result-type name="json" class="org.apache.struts2.json.JSONResult"/> </result-types> ``` 2. **创建Action类**: 创建一个Struts2 Action类,处理表单提交并返回结果。例如: ```java public class ...
Struts2是一个强大的Java web应用程序框架,用于构建和部署可维护、高性能的MVC(Model-View-Controller)架构的应用程序。在Web开发中,图片上传和预览是常见的功能需求,尤其对于用户交互丰富的应用来说。Struts2...
4. **结果类型(Result Types)**:Struts2支持多种结果类型,如`dispatcher`(默认,将结果页面作为HTTP响应返回给客户端)、`redirect`(重定向到新的URL)等。在查询操作完成后,Action可能会返回一个结果类型,...
Struts2框架是基于Action和Result的设计模式,它的主要组件包括Action类、配置文件(struts.xml)、拦截器(Interceptors)以及结果类型(Result Types)。Action类是业务逻辑的载体,处理用户的请求;配置文件用于...
首先,`struts2-core-2.1.6.jar`是Struts2的核心库,包含了框架的基础组件,如Action、Interceptor、Result等。而`struts2-json-plugin-2.1.8.jar`则是Struts2的JSON插件,它提供了对JSON的支持,允许我们在Struts2...
7. **结果类型(Result Types)** 结果类型定义了Action执行后如何跳转到相应的视图。Struts2内置了一些常见的结果类型,如`dispatcher`(重定向或转发到JSP)、`stream`(用于下载文件)等。在这个项目中,结果...
2. **Struts 2 - 2.swf** - 可能涉及了Struts2的配置,如struts.xml配置文件的结构和作用,如何配置Action类、结果类型(Result Types)、全局结果(Global Results),以及常量配置(Constants Configuration)。...