Struts中的Converter可以将一些特定对象转换成字符串,比如int、boolean、double等。例如:它会将1,y,on,yes转换成true.具体的实现要
参阅org.apache.commons.beanutils.Converter下的ConvertUtils.class类。下面是自己参照这个类写了一个转换java.util.date数据类型的
例子:
首先建一个类实现Converter接口。
package com.struts.myconvert;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.beanutils.Converter;
/**
* java.util.Date转换器
* @author Administrator
*
*/
public class UtilConvert implements Converter {
public Object convert(Class type, Object value) {
if (value == null) {
return value;
}
if (value instanceof Date) {
return value;
}
if (value instanceof String) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
try {
return format.parse(value.toString());
} catch (ParseException e) {
e.printStackTrace();
}
}
return value;
}
}
然或建一个servlet用来注册这个ava.util.Date转换器:
package com.struts.convert_servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.ConvertUtils;
import com.bjsxt.struts.myconvert.UtilConvert;
public class Myconvert extends HttpServlet {
public void init() throws ServletException {
ConvertUtils.register(new UtilConvert(),Date.class);//调用ConvertUtils的register方法
}
}
当然要在web.xml中配置这个servlet:
<servlet>
<servlet-name>Myconvert</servlet-name>
<servlet-class>com.struts.convert_servlet.Myconvert</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
下面是具体的测试页面:
index.jsp的主要代码:
<form action="convert.do" method="post">
utildate_vlaue:<input type="text" name="utildatevalue">
<input type="submit" value="submit">
</form>
相应的actionForm:
package com.struts.myconvert;
import java.text.SimpleDateFormat;
import org.apache.struts.action.ActionForm;
public class ConvertActionForm extends ActionForm {
private java.util.Date utildatevalue;
public java.util.Date getUtildatevalue() {
return utildatevalue;
}
public void setUtildatevalue(java.util.Date utildatevalue) {
this.utildatevalue = utildatevalue;
}
}
相应的action页面:
package com.struts.myconvert;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class ConvertAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ConvertActionForm cf = (ConvertActionForm)form;
return mapping.findForward("success");
}
}
struts-config.xml中的配置:
<form-beans>
<form-bean name="convertActionForm" type="com.struts.myconvert.ConvertActionForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/convert"
type="com.struts.myconvert.ConvertAction"
name="convertActionForm"
scope="request"
>
<forward name="success" path="/success.jsp"></forward>
</action>
</action-mappings>
显示页面success.jsp:
主要代码:${convertActionForm.utildatevalue}
然后当你在index.jsp中的输入框中输入:1987-11-11 2-12-45(只能按照UtilConvert类中的yyyy-MM-dd HH-mm-ss格式输入)
提交后就会显示如下:Wed Nov 11 02:12:45 CST 1987
当然这例子只是一个实现,用处很小,有很大的局限性。
分享到:
相关推荐
Struts是一个开源的应用框架,主要用于构建Java Web应用程序。它的出现是为了改善JSP Web应用的开发方式,特别是针对Model 1架构的不足。Model 1模式中,JSP页面同时承担了表现逻辑和控制逻辑,导致代码耦合度高,...
- **创建项目**:首先在JBuilder中创建一个新的Struts项目。 - **配置环境**:确保所有的Struts依赖都被正确配置。 - **编写代码**:根据Struts的体系结构编写Action、ActionForm等组件。 通过以上内容可以看出,...
Struts2 是一个基于 Java 的 Web 框架,使用 OGNL 表达式来访问 ActionContext 中的对象数据。在 Struts2 中,标签库使用 OGNL 表达式来获取对象数据,例如 `<s:property value="#parameters.msg" />`,Struts2 会...
Struts2是一个基于MVC(Model-View-Controller)设计模式的开源JavaEE框架,它在Web应用开发中被广泛使用。这篇博文“Struts2初探”将带领我们走进Struts2的世界,探讨其核心概念和使用方法。 首先,我们要理解...
Freemarker是一个强大的模板引擎,常用于Web应用中的视图层渲染,与Struts2等MVC框架结合使用。在本篇文章中,我们将探讨Freemarker的基础知识,并结合Struts2中的checkboxlist进行研究。 首先,让我们理解...
### 基于MVC的Struts框架初探:深入解析与应用 #### 引言:框架的意义与必要性 ...这种高度耦合的设计导致了程序的调试与维护变得...对于追求高效率、高质量软件开发的团队而言,Struts框架无疑是一个值得信赖的选择。
天干地支在择时中的应用初探 天干地支是中国古代的计时系统,用于记录和预测时间周期。天干地支系统由十个天干(甲乙丙丁戊己庚辛壬癸)和十二个地支(子丑寅卯辰巳午未申酉戌亥)组成。天干地支的阴阳属性奇数为阳...
本资源"AE开发初探(例子)"是一个为初学者设计的教程,旨在帮助新手快速入门,理解并掌握AE开发的基本概念和常用控件的使用。 首先,我们需要理解AE开发的核心概念。ArcEngine是Esri的客户端开发组件,它包含了一...
论文研究-系统学二象论初探:一个理论框架 .pdf,
- 拦截器是Struts2中的一个重要概念,用于处理请求前后的业务逻辑。 - Struts2提供了默认的拦截器栈,包含了一些常用的功能,如参数填充、异常处理等。 - **拦截器原理实现**: - 拦截器基于AOP(面向切面编程)...
### 初探Delphi中的插件编程 #### 一、引言 在Delphi开发过程中,随着项目的扩大和复杂度的提高,传统的单体应用程序结构往往难以满足需求。特别是对于那些涉及多个子系统或者需要频繁迭代开发的应用而言,单一...
1.4 Web项目中使用Struts2初探 20 第2章 Web基础技术简介 31 2.1 B/S和C/S系统区别 31 2.2 JSP和Servlet介绍 32 2.3 XML知识介绍 34 第3章 Struts2核心技术 37 3.1 使用web.xml配置Struts2实现Web项目Struts2应用 37...
在这个例子中,"TestJmesa"可能是一个包含Jmesa使用示例的Java类。通常,这样的例子会展示如何创建数据流、定义处理逻辑、设置窗口以及如何从数据流中提取和分析信息。我们可能需要通过阅读源代码来理解具体的实现...
- 创建第一个简单的Struts2项目示例。 #### 第2章 Web基础技术简介 - **2.1 B/S和C/S系统区别** - **知识点**: 对比了浏览器/服务器(B/S)和客户端/服务器(C/S)两种架构的特点。 - **核心内容**: - B/S架构...
Web3.0初探:一个基于区块链技术、用户主导、去中心化的网络生态.pdf