JiveJdon Community Forums
在线364人   首页   主题表   培训咨询   标签   精华   查搜   注册    登陆 RSS
首页 » 论坛 » 项目工程开发经验谈
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
Go 总共有 6 回复 / 1
 发表新帖子   回复该主题贴
javaclass

悄悄话
发表文章: 4
注册时间: 2004年03月09日 09:35
Java反射机制与struts1.1结合运用遇到的问题! 2004年04月12日 10:58 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表
Struts-config.xml中可定义动态form如下:
<form-bean name="LoginForm" type="org.apache.struts.action.DynaActionForm" dynamic="true" >
<form-property name="username" type="java.lang.String" />
<form-property name="password" type="java.lang.String" />
</form-bean>
<form-bean name="CompanyDetailForm" type="org.apache.struts.action.DynaActionForm" dynamic="true" >
<form-property name="companyName" type="java.lang.String" />
<form-property name="url" type="java.lang.String" />
<form-property name="city" type="java.lang.String" />
<form-property name="country" type="java.lang.String" />
<form-property name="phone" type="java.lang.String" />
<form-property name="email" type="java.lang.String" />
</form-bean>
同样在database中我们可以定义对应的表
table user(username, password)
table company(companyName, url, city, country, phone, email)
----------------------------------------------------------------
一般情况下在装载Form对象时通过取得rs记录后以如下形式装载:
userForm.set("username", rs.getString("username"));
.......
comForm.set("companyName", rs.getString("companyName"));
.........
----------------------------------------------------------------
请问各位大侠,在当form和表很多的情况下,如果通过java反射机制达到自动装载数据对象,良好的代码封装重用等,
万分感激!
javaclass

悄悄话
发表文章: 4
注册时间: 2004年03月09日 09:35
Re: Java反射机制与struts1.1结合运用遇到的问题! 2004年04月12日 11:01 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题

<form-bean name="LoginForm" type="org.apache.struts.action.DynaActionForm" dynamic="true" >
<form-property name=
"username" type="java.lang.String" />
<form-property name=
"password" type="java.lang.String" />
</form-bean>
<form-bean name=
"CompanyDetailForm" type="org.apache.struts.action.DynaActionForm" dynamic="true" >
<form-property name=
"companyName" type="java.lang.String" />
<form-property name=
"url" type="java.lang.String" />
<form-property name=
"street" type="java.lang.String" />
<form-property name=
"city" type="java.lang.String" />
<form-property name=
"country" type="java.lang.String" />
<form-property name=
"zip" type="java.lang.String" />
<form-property name=
"phone" type="java.lang.String" />
<form-property name=
"email" type="java.lang.String" />
</form-bean>
banq

悄悄话
发表文章: 9484
注册时间: 2002年08月03日 17:08
Re: Java反射机制与struts1.1结合运用遇到的问题! 2004年04月12日 11:30 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
你是想让后台的数据表和前台的Struts的数据封装合二为一吗?
javaclass

悄悄话
发表文章: 4
注册时间: 2004年03月09日 09:35
Re: Java反射机制与struts1.1结合运用遇到的问题! 2004年04月12日 16:12 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
是的。
本来应该是让数据表与数据模型(中间层也就是JavaBean实体对象),原则上不应该让web form与数据表操作关联。但现在想简单起见,就在Struts-config.xml中定义动态form,然后通过写具体sql语句查询得到rs记录集,运用java的反射机制达到set×××,get×××自动的目的。
wild fox

悄悄话
发表文章: 55
注册时间: 2003年03月19日 17:34
Re: Java反射机制与struts1.1结合运用遇到的问题! 2004年04月20日 11:54 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
我有一个想法,如果有什么不妥之处,请大家不吝指正

两个HashMap
nameValueMap存放属性名称(property-name)、对应数据(value)
nameTypeMap 存放属性名称(property-name)、对应类型(type 如java.lang.String)

假如有一个属性名称为("userName"),类行为"java.lang.String"从resultSet中取出值的时候,直接用rs.getObject("userName"), 放入nameValueMap中 nameValueMap.put("userName", rs.getObject("userName"));当要用到该属性的致的时候,先从nameTypeMap中取出他的类型 Class type = (Class)nameTypeMap.get("userName");然后把从nameValueType中取出的相应的值转换成该类型返回,当然要注意到NullPointerException, 当然我这样做有个缺点,就是对primitive 数据处理还需要改进
gaolong

悄悄话
发表文章: 3
注册时间: 2004年04月25日 10:31
Re: Java反射机制与struts1.1结合运用遇到的问题! 2004年04月25日 10:49 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
能把java的反射机制用到webserver的文件与数据库的映射之上?
谢谢回复!!!
SportsBaby1980

悄悄话
发表文章: 237
注册时间: 2004年06月09日 16:52
Re: Java反射机制与struts1.1结合运用遇到的问题! 2004年06月10日 09:34 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
很不错。
这段时间我也一直在做这个问题

但和javaclass老兄不太一样。

我的想法是:
数据库字段
javabean属性
form字段

三者的名字一致
这样就能使用反射进行数据操作,省了很大的力气



这个主题有 6 回复 / 1Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
正在读取,请等待...
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
  发贴前查询 标签列表勿重复发表问题

RSS 手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com
anti spam