- 浏览: 532338 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (377)
- J2EE (61)
- ORACLE (36)
- JS (15)
- EXT (0)
- win7 (12)
- TOMCAT (10)
- game (1)
- ie (5)
- etc (8)
- ibatis (3)
- ORACLE 客户端 (1)
- bat (3)
- 健康 (127)
- baby (4)
- html (12)
- myeclipse (16)
- 射手 字幕默认下载 位置 (1)
- office (0)
- car (2)
- xxx (1)
- python简介 (1)
- FusionCharts (1)
- dorado (4)
- english (3)
- weblogic (3)
- request/servlet (3)
- wsdl (1)
- offie2010 visio2010 下载 (1)
- nexus5 (0)
- chrome (3)
- ssi (2)
- 安卓 (3)
- nexus ipad (1)
- mysql (4)
- json (3)
- struts (6)
- datagrid (1)
- highcharts (1)
- tools (2)
- tool (1)
- spring3 (1)
- jedit (1)
- java (4)
- windows (1)
- easyui (2)
- 液晶显示器色温 (1)
- mybatis (1)
- where (1)
- sublime (1)
- spring4 (3)
最新评论
-
spring_springmvc:
如何在java Web项目中开发WebService接口,地址 ...
java 调用WebService服务接口 -
chenzheng8975:
阅
人生三大陷阱 -
ygbb007:
直接OD就能破解的
myBase Desktop 6.0 破解方法 -
lanlansnss:
直接删除nyfedit.ini文件即可
myBase Desktop 6.0 破解方法 -
yunzhu:
LZ写博客不太注重排版啊,排版不行别人没法看的
PermGen space
自定义Result
5.7.1 什么是自定义Result
所谓自定义Result,就是由我们自行开发的Result,而不是使用由Struts2预先定义好的Result。
在实际开发中,需要自定义Result的机率并不大,因为常见的各种页面展示技术,Struts2都已经预定义好相应的Result了,无需我们自行开发。如果我们要自定义Result,要么就是包装一种新的页面展示技术,要不干脆就是我们自行开发的页面展示技术,出现这些情况的可能性很低。
虽然用得不多,但是从知识的完整性上,还是需要了解如何自定义Result的,再说,了解自定义Result,也能加深对Result技术的理解。
5.7.2 开发自定义Result
其实,开发自定义Result是非常简单的,只需要实现com.opensymphony.xwork2.Result接口就可以了,这个接口的定义也非常简单,示例如下:
java代码:
查看复制到剪贴板打印
public interface Result extends Serializable {
public void execute(ActionInvocation invocation) throws Exception;
}
就是一个execute方法,在这个方法里面去写Result的真正处理,就是如何展示视图。当然,所有需要的数据都可以从ActionInvocation里面获取到。
好了,下面来写个示例示范一下,如何开发自定义的Result。为了简单,就采用字符界面来展示视图,简单点说,就是把信息在后台输出一下。
1:写MyResult类
示例如下:
java代码:
查看复制到剪贴板打印
package cn.javass.action.action;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.Result;
public class MyResult implements Result{
public void execute(ActionInvocation invocation) throws Exception {
System.out.println("要处理的Result字符串是="+invocation.getResultCode());
}
}
只是简单的输出了Action返回的要处理的Result的字符串的值,至于要想获取更多要展示的值,可以通过ActionInvocation去获取ActionContext,在ActionContext里面封装着所有需要的值。由于ActionContext在后面才会详细学到,这里就先不去示例了。
2:在struts.xml中配置使用MyResult
示例如下:
java代码:
查看复制到剪贴板打印
<package name="helloworld" extends="struts-default">
<result-types>
<result-type name="MyResult" class="cn.javass.action.action.MyResult" default="false"/>
</result-types>
<action name="helloworldAction" class="cn.javass.action.action.HelloWorldAction">
<result name="toWelcome" type="MyResult">/s2impl/welcome.jsp</result>
</action>
</package>
这里面有两个地方要注意:
在<action>当前的<package>里面配置了自定义的<result-type>,当然它的配置也很简单,主要就是name和class属性,还有一个default的属性用来表示这个ResultType是否缺省使用的。
另外一个地方,在<action>里面配置<result>的时候,要配置type属性,type属性的值就是我们自定义的<result-type>的name属性的值
3:测试一下
其它的没有什么变化,照例从登录页面开始运行,去测试一下,看看效果。后台应该有如下输出信息:
java代码:
查看复制到剪贴板打印
用户输入的参数为===account=test,password=test,submitFlag=login
要处理的Result字符串是=toWelcome
其中加粗的这句话就是由我们自定义的Result输出的。
注意:由于此时我们的Result并没有向页面输出任何东西,因此,此时的页面应该是一片空白。
通过这个示例可以看到,自定义Result也不是一件很困难的事情,困难的是到底如何展示数据,也就是必须有一个相应的视图展示技术,Result就相当于是包装这个视图展示技术的。
5.7.1 什么是自定义Result
所谓自定义Result,就是由我们自行开发的Result,而不是使用由Struts2预先定义好的Result。
在实际开发中,需要自定义Result的机率并不大,因为常见的各种页面展示技术,Struts2都已经预定义好相应的Result了,无需我们自行开发。如果我们要自定义Result,要么就是包装一种新的页面展示技术,要不干脆就是我们自行开发的页面展示技术,出现这些情况的可能性很低。
虽然用得不多,但是从知识的完整性上,还是需要了解如何自定义Result的,再说,了解自定义Result,也能加深对Result技术的理解。
5.7.2 开发自定义Result
其实,开发自定义Result是非常简单的,只需要实现com.opensymphony.xwork2.Result接口就可以了,这个接口的定义也非常简单,示例如下:
java代码:
查看复制到剪贴板打印
public interface Result extends Serializable {
public void execute(ActionInvocation invocation) throws Exception;
}
就是一个execute方法,在这个方法里面去写Result的真正处理,就是如何展示视图。当然,所有需要的数据都可以从ActionInvocation里面获取到。
好了,下面来写个示例示范一下,如何开发自定义的Result。为了简单,就采用字符界面来展示视图,简单点说,就是把信息在后台输出一下。
1:写MyResult类
示例如下:
java代码:
查看复制到剪贴板打印
package cn.javass.action.action;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.Result;
public class MyResult implements Result{
public void execute(ActionInvocation invocation) throws Exception {
System.out.println("要处理的Result字符串是="+invocation.getResultCode());
}
}
只是简单的输出了Action返回的要处理的Result的字符串的值,至于要想获取更多要展示的值,可以通过ActionInvocation去获取ActionContext,在ActionContext里面封装着所有需要的值。由于ActionContext在后面才会详细学到,这里就先不去示例了。
2:在struts.xml中配置使用MyResult
示例如下:
java代码:
查看复制到剪贴板打印
<package name="helloworld" extends="struts-default">
<result-types>
<result-type name="MyResult" class="cn.javass.action.action.MyResult" default="false"/>
</result-types>
<action name="helloworldAction" class="cn.javass.action.action.HelloWorldAction">
<result name="toWelcome" type="MyResult">/s2impl/welcome.jsp</result>
</action>
</package>
这里面有两个地方要注意:
在<action>当前的<package>里面配置了自定义的<result-type>,当然它的配置也很简单,主要就是name和class属性,还有一个default的属性用来表示这个ResultType是否缺省使用的。
另外一个地方,在<action>里面配置<result>的时候,要配置type属性,type属性的值就是我们自定义的<result-type>的name属性的值
3:测试一下
其它的没有什么变化,照例从登录页面开始运行,去测试一下,看看效果。后台应该有如下输出信息:
java代码:
查看复制到剪贴板打印
用户输入的参数为===account=test,password=test,submitFlag=login
要处理的Result字符串是=toWelcome
其中加粗的这句话就是由我们自定义的Result输出的。
注意:由于此时我们的Result并没有向页面输出任何东西,因此,此时的页面应该是一片空白。
通过这个示例可以看到,自定义Result也不是一件很困难的事情,困难的是到底如何展示数据,也就是必须有一个相应的视图展示技术,Result就相当于是包装这个视图展示技术的。
发表评论
-
HttpClient4.X的代理密码
2018-07-11 23:48 868HttpClient4.X的代理添加实现(转自http://b ... -
Enable debug logging for this logger for a complete list of JARs that were scann
2018-06-28 21:59 1787修改EL表达式,例如"${owner.new}& ... -
job spring3--spring4
2017-12-28 09:21 454job spring3-->spring4 org ... -
java的(PO,VO,TO,BO,DAO,POJO)解释
2017-06-12 10:26 532java的(PO,VO,TO,BO,DAO,POJO) ... -
高內聚、低耦合。多聚合、少繼承
2017-05-22 15:52 794面向對象原則:高內聚、低耦合。多聚合、少繼承 2015-05 ... -
savesavesavesavesavesave
2017-05-18 17:24 487savesavesavesavesavesave uploa ... -
eclipse 图标的含义
2016-10-13 15:11 512... -
log4j-struts异常日志打印
2016-08-24 17:04 1058log4j.appender.myfile.layout.Co ... -
struts2 Action中获取request, response对象
2016-07-21 09:43 1168ajax不能完成文件下载, ... -
request和response的中文乱码问题
2016-03-04 10:39 1375request和response的中文乱码问题 request ... -
sun.misc.BASE64Encoder找不到jar包的解决方法
2015-06-29 15:10 842sun.misc.BASE64Encoder找不到jar包的解 ... -
jar 包 用途(jar功能对照表)
2015-04-08 16:07 1636jar包用途(jar功能对照表) axis.jar SOAP ... -
struts上传
2014-08-22 15:37 473jsp页面 <meta http-equiv=" ... -
java调用打印机打印自定义的图片
2014-08-19 16:03 3822package test; import java.awt. ... -
JAVA基类和派生类
2014-05-22 16:02 1293JAVA基类和派生类 从 ... -
web.xml配置详解
2014-02-20 08:56 8202007-10-16 17:12 Web.XML 配 ... -
不要使用sun.misc.BASE64Encoder
2014-02-18 10:10 1172一直以来Base64的加密解密都是使用sun.misc包下的B ... -
ant+javadoc生成API文档
2014-01-02 17:16 962ant+javadoc生成API文档 分类: ant 2006 ... -
ssi包下载
2013-12-27 10:15 964Spring官网改版后找了好 ... -
webAppRootKey参数问题
2013-12-25 14:40 818...
相关推荐
本实例将深入探讨如何创建一个名为`Result`的自定义注解,并了解如何在实际应用中使用它。 首先,我们需要定义自定义注解`Result`。在Java中,自定义注解的定义通常以`@interface`关键字开始。例如: ```java ...
在“Struts2_1500_ResultType”这个压缩包文件中,可能包含了Struts2框架的源代码、相关的示例项目、文档或者自定义Result类型的实现。通过深入研究这些内容,你可以更全面地掌握Struts2 Result类型的使用和扩展方法...
检查`struts-default.xml`或自定义的配置文件,确认404错误是否被正确地映射到了一个自定义的错误页面。 8. **IDE或服务器设置**:有时候,开发环境或服务器的配置也可能导致404错误,例如Tomcat的Context配置、...
开发者还可以自定义Result Type,通过创建新的Java类实现`com.opensymphony.xwork2.Result`接口,并在配置文件中注册这个类型。 在Action配置中,我们可以通过`<result>`元素来指定Action的特定结果。`<result>`...
在实际开发中,你还可以自定义Result Type以满足特定的需求,只需要扩展Struts2的Result接口并配置相应的类即可。同时,也可以通过Action的配置或者struts.xml配置文件来为每个Action指定特定的Result Type,以实现...
4. **自定义Result类型** 结果类型决定了Action执行后的跳转方式。通过实现`com.opensymphony.xwork2.Result`接口,我们可以自定义新的Result类型,比如将结果输出为CSV格式或XML格式。 5. **自定义Validator** ...
4. **实现动态结果集**:通过代码示例展示如何在Struts2中创建和使用动态结果集,可能涉及自定义Result类、处理动态数据模型以及在JSP页面上的展现。 5. **数据绑定和视图层**:讲解如何利用OGNL(Object-Graph ...
另外,您还可以自定义result类型。 下面让我们来做一个Velocity模板输出的例子,首先在classes/struts.xml中新建一个Action映射(Mapping),将其result类型设为velocity,如以下代码所示: <result type=...
开发者可以自定义Result类型以满足特定需求。 4. **Tiles**:Struts2集成了Tiles框架,允许我们创建可重用的页面布局和组件,提高视图层的复用性。 5. **Plug-in Architecture**:Struts2的插件架构使得扩展非常...
- **使用自定义Result Type**:定义好自定义的Freemarker Result Type后,还需要在Struts配置文件中声明该结果类型,并在Action中指定使用。 ```xml <!-- struts.xml --> ,custom"/> <result name="success" ...
如果内置的结果类型不能满足需求,你可以创建自定义Result类型,这样可以在更复杂的情况下控制参数的传递。 5. **使用插件或拦截器** Struts2的插件和拦截器也可以用来传递参数。例如,Struts2的Tiles插件允许在...
- **Action级别异常处理**: 在Action类中使用`@ExceptionHandler`注解或自定义Result类型来处理特定的异常。 通过这些章节的学习,你可以深入理解Struts2的工作原理,掌握如何编写Action、配置Struts2、利用拦截器...
7. **自定义Result**:讲解了如何创建自定义的Result类型以满足特定的需求。 #### 六、拦截器 1. **拦截器基础**:解释了拦截器的概念及其在Struts2中的作用。 2. **预定义的拦截器**:介绍了Struts2中预定义的各种...
开发者可以自定义Result类型,通过实现`com.opensymphony.xwork2.Result`接口。 4. **配置文件**:Struts2的配置文件(通常是struts.xml)是定义应用行为的地方,包括Action的映射、拦截器的配置、全局结果等。配置...
2. **自定义Result**: - Struts2支持自定义`Result`,这使得开发者可以根据实际需求定制更复杂的页面转向逻辑。 - 自定义`Result`需要实现`Result`接口或继承`ResultSupport`类,并在`struts.xml`中注册。 #### ...
预定义的Result类型如dispatcher、redirect、chain等,以及如何自定义Result,都是本章的重点。此外,Struts2的异常映射、PreResultListener等高级特性也被一一解析。 ### 拦截器与值栈、OGNL 第六章深入探讨了...
源代码会展示如何定义Action类,配置Result类型,以及如何实现自定义Result。 2. **拦截器(Interceptors)**:Struts2的核心组件之一,用于在Action执行前后添加额外的功能,如日志记录、权限验证等。源码中会有各种...
7. ** strut2-091001C(2)**:这个文件可能是课程的某个特定章节,可能包含特定主题的示例代码,如异常处理、拦截器实现、自定义Result等。 学习这个压缩包中的源码,可以让你了解到Struts2如何处理请求、如何组织...