蒋德的JAVA备忘录
JAVA备忘录
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
14 随笔 :: 4 文章 :: 5 评论 :: 0 Trackbacks
<
2008年2月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1
2
3
4
5
6
7
8
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔档案
2009年8月 (1)
2008年12月 (1)
2008年6月 (1)
2008年4月 (1)
2008年3月 (6)
2008年2月 (1)
文章分类
ANT(2)
(rss)
文章档案
2008年3月 (3)
相册
生活照
搜索
最新评论
1. re: Weblogic 10.3 的JNDI 配置
网上那些只能是参考
--11
2. re: Struts 关于多个配置文件的自动识别
com.allcom.base.core.module.PropertyManager
把这个类代码贴出来吧。
--石晓丹
3. re: Struts 关于多个配置文件的自动识别
想法很好, 但是有时候并不是所有的struts config文件都在web-inf下.
--xmp123
4. re: 程序员的路程---成长路上的java 书目1 [未登录]
想不到同志在天安数码城呆过啊。
我现在也在这。
--test
阅读排行榜
1. Weblogic 10.3 的JNDI 配置(5175)
2. SpringMVC数据绑定xx.yy.zz 时的yy对象自动初始化 (1504)
3. Struts 关于多个配置文件的自动识别(1450)
4. ExtremeTable 表单复选框(946)
5. eclipse plugin 开发 增加classPath (922)
评论排行榜
1. Struts 关于多个配置文件的自动识别(2)
2. Weblogic 10.3 的JNDI 配置(1)
3. 程序员的路程---成长路上的java 书目1 (1)
4. SpringMVC数据绑定xx.yy.zz 时的yy对象自动初始化 (0)
5. 关于Xdoclet 不能生成Struts 的问题(0)
SpringMVC数据绑定xx.yy.zz 时的yy对象自动初始化
Spring Mvc 中的SimpleFormController是专门负责数据绑定的Controller ,当做深层绑定时,xx.yy.zz 如果yy 对象为null
就会抛出空指针.我在前期用如下代码进行初始化
Article article
=
new
Article();
MainType articleType
=
new
MainType();
article.setMainType(articleType);
显尔易见这段代码繁琐的,经过摸索,利用java 反射机制,编写了一个公共方法进行初始化
package
com.allcom.base.commons;
import
java.lang.reflect.Field;
import
java.lang.reflect.Method;
import
com.allcom.vvgoo.persist.Merchant;
/** */
/**
*/
/** */
/**
* 初始化对像的属性 ,对于日期型数据将自动填充当前日期
*
*
*/
public
class
AutoView
{
public
static
void
AutoView(Object command)
{
if
(
null
!=
command)
{
Class classType
=
command.getClass();
Field fields[]
=
classType.getDeclaredFields();
for
(
int
i
=
0
;i
<
fields.length;i
++
)
{
Field field
=
fields[i];
String fieldName
=
field.getName();
String typeName
=
field.getType().getName();
String firstLetter
=
fieldName.substring(
0
,
1
).toUpperCase();
String getMethodName
=
"
get
"
+
firstLetter
+
fieldName.substring(
1
);
String setMethodName
=
"
set
"
+
firstLetter
+
fieldName.substring(
1
);
try
{
Method setMethod
=
classType.getMethod(setMethodName,
new
Class[]
{field.getType()}
);
Class clazz
=
Class.forName(typeName);
Object value
=
clazz.newInstance();
if
(
null
!=
value)
{
setMethod.invoke(command,
new
Object[]
{value}
);
}
}
catch
(Exception e)
{
}
}
}
}
public
static
void
main(String[] arg)
{
Merchant merchant
=
new
Merchant();
AutoView view
=
new
AutoView();
view.AutoView(merchant);
System.out.print(Util.dateToString(merchant.getCreateDate(),
"
yyyy-MM-dd
"
));
}
}
其中 Merchant 是任意的一个javaBean,在使用该方法处理后,其中xx.yy.zz 中的yy 对象会自动填充该对象全新的实例
posted on 2008-02-18 10:19
蒋德
阅读(1504)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
Powered by:
BlogJava
Copyright © 蒋德