1、局部:先定义一个类(例如DateTypeConverter.java),这个类要继承DefaultTypeConverter;在Action包下定义一个局部配置文件(文件名有格式要求:Action类名-conversion.properties,例如HelloWorldAction-conversion.properties);代码略。
2、全局:同上,只需要把配置文件放置在src目录下,并改变文件名(文件名有格式要求:一定为xwork-conversion.properties);代码如下(举例):
java.util.Date=com.huhui.type.converter.DateTypeConverter
由于内容少也比较简单,故此再讲解一下如何访问或添加request/session/application属性。
1、通过ActionContext访问或添加(使用范围)request/session/application属性,代码如下:
public String execute(){
ActionContext ac=new ActionContext.getContext();
ac.getApplication().put(“app”,”应用范围”);//往ServletContext里放入app
ac.getSession().put(“ses”,”session范围”);//往session里放入ses
ac.put(“req”,”request范围”);//往request里放入req
return “message”;
}
在JSP文件中显示出来:代码如下:
<body>
${applicationScope.app } <br>
${sessionScope.ses } <br>
${requesScope.req } <br>
</body>
2、获取HttpServletRequest/HttpSession/servletContext/HttpServletResponse对象(使用范围),有两个方法:
A、 通过ServletActionContext类直接获取(推荐使用),代码如下:
public String rsa() throws Exception{
HttpServletRequest request=ServletActionContext.getRequest();
ServletContext servletContext=ServletActionContext.getServletContext();
Request.setAttribute(“req”,”请求范围属性”);
request.getSession().setAttribute(“ses”,”会话范围属性”);
servletContext. setAttribute(“app”,”应用范围属性”);
//HttpServletResponse response= ServletActionContext.getResponse();
return “message”;
}//获得这些对象后可通过setAttribute()方法设置属性
B、 实现指定接口,由struts框架运行时注入,代码如下:
public class HelloWorldAction implements ServletRequestAware,ServletResponseAware,ServletContextAware{
private HttpServletRequest request;
private ServletContext servletContext;
private HttpServletResponse response;
……//各属性的setter()方法
}
分享到:
相关推荐
本文主要介绍Struts1和Struts2中的自定义类型转换器,并探讨其实现机制。 #### 二、Struts1中的自定义类型转换器 在Struts1中,自定义类型转换器主要是通过继承`com.sun.org.apache.commons.beanutils.Converter`...
这个过程涉及到了类型转换,Struts2内置了一套转换器机制,能够自动处理基本类型和一些常见类型的转换。然而,对于如Date这样的复杂类型,需要自定义转换器来处理。 创建自定义类型转换器的步骤如下: 1. **定义...
Struts2的自定义类型转换可以分为两大类:局部类型转换和全局类型转换。 - **局部类型转换**:针对特定Action或实体类的类型转换,适用于特定场景下的数据处理。进一步分为: - 普通实体bean的自定义类型转换:...
接着,当Struts2接收到相关参数时,会自动调用自定义转换器进行转换。 6. **调试与测试** 调试自定义类型转换器通常涉及到设置断点,观察转换过程中的变量状态,以及通过单元测试确保转换逻辑的正确性。在IDE如...
Struts2框架提供了一种灵活的方式来实现这种类型的转换——即通过自定义类型转换器(Type Converters)。本文档将详细介绍如何在Java中自定义类型转换器,并通过一个具体的例子来演示其使用方法。 #### 二、局部...
Struts 2.0 是一个基于MVC设计模式的Java Web框架,它极大地简化了开发过程,特别是处理用户输入和...在实际开发中,根据项目需求,我们可以为不同的自定义类型创建相应的类型转换器,确保数据准确无误地被转换和处理。
Struts2作为一款流行的Java Web框架,其在处理用户输入数据时扮演着重要角色。...在练习中,你可以尝试创建不同的自定义转换器,并理解它们在处理不同类型数据时的作用,从而加深对Struts2数据处理机制的理解。
在Struts2框架中,自定义类型转换器是开发者为了满足特定需求,对框架默认的类型转换机制进行扩展的一种方式。Struts2允许我们创建自己的转换器类来处理输入数据,确保模型对象的属性能够正确地被转换为预期的数据...
标签中的“源码”可能意味着博客会深入到Struts2框架的源代码中,解释类型转换器的工作原理和如何根据源代码实现自定义转换器。而“工具”可能指的是使用Struts2提供的工具类或API来辅助类型转换。 在`Struts2_3500...
本实例练习旨在帮助你深入理解Struts2的工作原理,特别是自定义类型转换和拦截器的使用。 首先,让我们详细探讨Struts2的MVC架构。在MVC模式中,Model代表业务逻辑,View负责展示数据,而Controller则是两者之间的...
1. 局部类型转换器:只对特定Action的属性生效。可以通过创建名为`ActionName-conversion.properties`的文件(ActionName为Action类名),并在其中指定属性名和对应的类型转换器全限定类名。这个文件应放置在与...
默认情况下,Struts2提供了一些内置的转换器,例如`StringTypeConverter`、`BooleanTypeConverter`等,可以处理基本类型和常用类型的转换。 但是,有时候我们可能需要自定义转换器以满足特定需求,例如处理自定义...
Struts2是一个非常流行的...总的来说,理解和解决Struts2全局转换问题需要对框架有深入的理解,包括其配置机制、转换器的原理以及如何编写和注册自定义转换器。同时,熟悉相关开发工具和源码阅读能力也是必不可少的。
这个压缩包“struts2 全局类型转换器.rar”可能包含了一个示例或教程,教你如何在Struts2中实现全局类型转换器,以统一处理不同类型的字段转换。在Struts2中,类型转换器扮演着重要的角色,它允许你将用户输入的数据...
由于Struts2内置的类型转换器仅支持基本类型和一些常见类型,如String和Date,当遇到更复杂的转换需求时,例如将字符串转换为自定义的对象,我们就需要自定义类型转换器。 自定义类型转换器的主要目的是解决Struts2...
Struts2是一个强大的MVC框架,它在处理用户请求时涉及到数据类型的转换,这在处理复杂的表单数据或者自定义对象时尤其重要。本篇文章将详细介绍如何在Struts2中进行配置与自定义类型转换。 首先,Struts2的配置主要...
Struts2框架提供了内置的转换器,可以处理基本类型和某些复杂类型的转换。然而,对于自定义格式或特殊需求,我们需要自定义转换器。转换器的实现基于`Converter`接口,该接口包含一个`convert`方法,用于执行实际的...