- 浏览: 151896 次
- 性别:
- 来自: 北京
最新评论
-
w344570398:
引用[flash=200,200][url][img][lis ...
Filter配置 -
samuel_xie:
good
Java Interface(接口) 是常量存放的最佳地点吗? -
canuo:
求helloword!
8.struts2实现零配置---annotation配置
文章列表
JavaScript中unescape函数方法是解码用 escape 方法进行了编码的 String 对象。 使用方法:
加密:
escape(str),
解密:
unescape(str)
unescape是一个全局函数,它将解码使用escape函数编码的字符串。
unescape已被ecma标准抛弃,请使用decodeURI或decodeURIComponent函数代替
示例
<script type="text/javascript">
var str = "Hello, 我是escape";
var esc ...
str = str.replace(/^\s+|\s+$/g,'');
原理是利用正则表达式进行替换操作。。。
对于org.apache.ibatis.executor.ExecutorException: There was no TypeHandler found for parameter...这个异常,是由于javaType和jdbcType的类型不匹配造成的。
<insert id="add" parameterType="Message">
insert into t_message(id,content,createtime,t_student_id,t_class_id)
values(#{id} ...
TypeHandler是MyBatis config文件中可选的配置选项,其可以对实体属性类型和数据库列类型的转换过程进行干涉,在过程中添加某些可能需要的操作。
1、自定义的typeHandler类需要实现typeHandler接口并且实现接口方法;
2、配置文件添加<typeHandler>;
3、在映射文件中的参数和结果添加类型说明,javaType和jdbcType。
简单实例如下:
1.类型控制类
package com.chl.mybatis.typehandler;
import java.sql.CallableStatement;
...
有这样一个需求:
有一个布尔型的字段需要保存到数据库中,但是数据库不支持布尔类型,因此采用一位字符(char(1))来存储这个布尔值,javabean中仍然采用boolean类型。
我们采用mybatis作为持久层框架,但是就有一个问题,数据库中使char型,而程序中是boolean型,如何实现数据类型自动转换?
解决办法:
mybatis提供了对自定义的类型转换器(typeHandler)的支持,因此我们可以自己编写类型转换器来实现这一自动转换的功能。
实现步骤:
第一步:编写自定义类型转换器
/**
*
*/
package test.atfm ...
在mvc中如果表单属性的类型是日期型时,从页面绑定字符串数据会出错
Failed to convert property value of type [java.lang.String] to required type [java.util.Date] for property 'expert.birthdate'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [java.lang.String] to required type [java.util.Date] fo ...
关于struts2使用配置文件的配置方式,前面已经说过了,大家应该很熟悉了,使用配置文件的方式进行配置,虽然简单易配,但是随着项目的扩大,配置文件会越来越多,这样就会变的凌乱,繁杂,所以今天给大家说一下struts2基于annotation的配置,也就是平常我们所说的零配置。
/*
要实现零配置,首先必须要导入jar包,struts2-convention-plugin-2.3.1.2.jar,然后大家知道要实现零配置肯定要遵守约定,现在的这些ssh框架,都是约定大于配置的。
1>包名:包名必须是xx.xx.action(actions, struts, struts2)这种 ...
interceptor(拦截器)作为struts2的核心内容,struts2的大部分功能都是靠拦截器来实现的,如:校验,国际化,类型转换。。。
1.拦截器的概念
拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。
在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。
...
ActionSupport作为struts2中一个非常重要的类,继承这个类,我们可以实现:验证,国际化,获取本地信息,增加错误提示信息等...
1.验证
public class ProductAction extends ActionSupport
public String execute() throws Exception
System.out.println("execute");
return SUCCESS;
}
public String add() {
return SUCCESS;
...
5.struts2的类型转换
- 博客分类:
- Struts
大家在用struts2的时候,应该会发现struts2会自动将一些数据类型进行转换,是的,struts2确实有类型转换的功能,另外struts2还支持自定义数据类型转换。
1. struts2对于 8 个原生数据类型以及 Date,String 等常见类型,Struts2 可以使用内建的类型转换器实现自动的转换。
2. 对于自定义的类型转换器来说需要提供3 个信息:Action 的名字、Action 中待转换的属性名以及该属性对应的类型转换器。其中Action 的名字是通过属性文件名来获得的、Action 中待转换的属性名是通过属性文件中的key 来获得的,该属性对应的类型转换器 ...
对于addHeader() 和 setHeader()这两个方法,可能我们在需要的时候,用起来感觉都一样,都能达到想要的效果。但是这两个方法本质上是不一样的。
setHeader(name, value):如果Header中没有定义则添加,如果已定义则用新的value覆盖原用value值。
addHeader(name, value):如果Header中没有定义则添加,如果已定义则保持原有value不改变。
上一篇已经给大家介绍了struts的一些基本配置。今天来给大家介绍一下关于struts的action中如何调用指定方法。
首先大家都知道,action默认调用的是execute方法,那么如何调用指定的方法呢?
//方式一:通过配置method属性,来调用指定方法
<action name="user" class="com.hx.web.UserAction" method="add">
<result>user.jsp</result>
<result n ...
本篇文章以现在最新的struts 2.3.1.2为例。
//首先必不可少的当然是导入jar包
commons-fileupload-1.2.2.jar,commons-io-2.0.1.jar,
commons-lang-2.5.jar, commons-logging-1.1.1.jar, freemarker-2.3.18.jar, javassist-3.11.0.GA.jar, ognl-3.0.4.jar, struts2-core-2.3. ...
上一篇已经给大家介绍过json的表达方式,这一篇讲开始介绍如何在java中生成json。
1.用json-lib生成json
要用到的jar包:commons-beanutils-1.8.3.jar, commons-collections-3.2.1.jar, commons-lang-2.4.jar, commons-logging-1.1.1.jar, ezmorph-1.0.6.jar, json-lib-2.3-jdk15.jar
//1.对象
package com.hx.test;
import com.hx.entity.Person;
import ne ...
• JSON的全称是JavaScript Object Notation(即JavaScript对象标识),实际上是通过组合使用JavaScript中的数组与键值对(hash)对象来描述数据的结构。数组用来表示有序结构,键值对用来表示对应关系。
从上面这几幅图,大家应该很容易理解json的键值对应关系。正是由于Json这种简洁,易于编写和阅读,所以现在被广泛用来作为轻量级数据交换格式。
Json的表示方式:{}代表一个对象的表示方式,[]代表数组的表示方式。
例如:var person = {'name':'tom','address':'UK',' ...