ITPub博客

首页 > 应用开发 > IT综合 > 动态赋值弱类型值对象--Dynamic Create Value Object 模式 (转)

动态赋值弱类型值对象--Dynamic Create Value Object 模式 (转)

原创 IT综合 作者:worldblog 时间:2007-12-13 16:16:59 0 删除 编辑
动态赋值弱类型值对象--Dynamic Create Value Object 模式 (转)[@more@]

from web  to value object, dynamic create your value object  :use weake-type value object


摘要:在J2EE应用中,采用JSP+bean+servlet开发,采取前端校验,在
不涉及EJB的情况下,我喜欢使用弱类型值对象,本文描述了如何动态赋
值弱类型值对象。有关弱类型值对象请参考模式>。


为什么要动态赋值弱类型值对象?
  J2EE可开发中你可能需要将大量从客户端截获的数据赋值你的bean
中,每一次都要重复大量的赋值语句,是不是感觉到很烦,采用一种合适
的策略来消除这种重复的工作,是改进你生产效率的途径。
 
如何动态赋值弱类型值对象。
 
  解决这个问题你需要确定使用指定的命名模式。页面的元素    type="text" name="p_Name>,BEAN 属性 setP_name() ,getP_name();在
使用指定的命名模式后,你就可以使用简单的代码实现动态赋值了。
 
 代码描述如下: 
 
  弱类型值对象 
  class Author{
 
  Properties  attr = new  Properties();
 
  .....................................
  public void setP_name(String name){
  attr.putProperties("NAME",name);
  }
 
 
  public String getP_name(){
  return attr.getProperties("NAME");
  }
 
  .........................
  }



  动态赋值弱类型值对象
 
  Author author = new Author();
 
  Method[] methods = Class.forName("Author").getMethods();
 
 
  String[]  names =(String[]) request.getParameterNames();
  String value = null;
  for(int i=0;i  value = request.getParameter(names[i]);
 
  for(int j=0;i    bname =methods[j].getName();
    if(bname.startsWith("set")){
    bname =bname.substring(3,bname.length());
   
    if(bname.equalsIgnoreCase(names(i)){
    methods[j].invoke(author,new Object[]{value}); 
    }
    }
  } 
  }
 
 


正如你所看到的,实现动态赋值是很简单的。我将在下一篇文章from entity
baen  to value object dynamic create your value object  :use  value
object中讲讲如何实现从ejb到标准vo的动态赋值,可能这更能使你感兴趣。



欢迎大家来讨论。


 


 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-992978/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    6241
  • 访问量
    2410762