论坛首页 Java企业应用论坛

Java反射机制与struts1.1结合运用遇到的问题!

浏览 5930 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-04-12  
在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="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>

同样在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反射机制达到自动装载数据对象,良好的代码封装重用等,
万分感激!
   发表时间:2004-04-12  
还有一种就是将这些动态form用bean来代替,如下所示:
public class UserBean
{
    private String username;
    private String password;
    public UserBean();
    {}
    /* 对应的get  set 方法 */
    public void set***
    public String set***
}
0 请登录后投票
   发表时间:2004-04-12  
引用
请问各位大侠,在当form和表很多的情况下,如果通过java反射机制达到自动装载数据对象,良好的代码封装重用等,

   没有看懂楼上想问什么???
0 请登录后投票
   发表时间:2004-04-13  
需求是这样的:
有n张表,每个表n个字段,
有n个bean,每个bean有n个属性,
字段名称与bean属性名称相同;
bean由属性与对应的get、set方法组成;

由于在使用bean对象前(比如bean.get***()),首先需要创建对象,然后将rs记录中对应的字段值set给bean的对象。如果这样的表和bean很多,每次都要
if(rs.next)
{
Bean bean = new Bean();
bean.set***(rs.get***);
.........
}
可不可以写个通用的类,将rs和bean做为对象传进去,返回的时候bean就已经有数据了。也就是可以直接get得到值了。
0 请登录后投票
   发表时间:2004-04-13  
当然可以,用反射很容易做到的
0 请登录后投票
   发表时间:2004-04-14  
哦,原来是这样~~~~~~~~~,so easy!
  在MSN上加我,我发代码给你就是
0 请登录后投票
   发表时间:2004-04-15  
还是那句话,java ref机制很容易做到,以前我们都这样用,缺点也是显而易见的,数据库的字段名和vo、formbean的名字需要一路匹配下来。另外反射也有一定的效率损耗。
0 请登录后投票
   发表时间:2004-04-19  
mikeho 写道
还是那句话,java ref机制很容易做到,以前我们都这样用,缺点也是显而易见的,数据库的字段名和vo、formbean的名字需要一路匹配下来。另外反射也有一定的效率损耗。

---------------------
那么是否可以做到将struts1.1中的DynaActionForm也用个java ref机制做到这个类似功能呢,这样就可以在struts-config.xml中灵活修改了。

我的MSN:net_zxp@hotmail.com
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics