- 浏览: 131610 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
qindongliang1922:
不错!
linux sort 命令 -
eve:
这个还真没注意,8错
protected访问权限又理解了一下 -
imp860124:
学习了。
struts ActionForward跳转添加参数
import java.beans.PropertyDescriptor; import org.apache.commons.beanutils.PropertyUtils; /** * 需beanutils jar包 * 属性格式嵌套用"."相隔 */ public class Test { public static void main(String[] args) throws Exception { Class<?> c = A.class; Object instance = c.newInstance(); String name ="name"; String value ="aname"; setBeanProperty(instance, name, value); name = "b.name"; value="bname"; setBeanProperty(instance, name, value); A a = (A) instance; System.out.println(a.getName()+":"+a.getB().getName()); } /** * populate property * @param o 实例对象 * @param name 被赋值属性字符描述 格式:a.b.c..... * @param value 原始值 * @throws Exception */ private static void setBeanProperty(Object o,String name,String value) throws Exception{ String[] propDiscribe = name.split("\\."); if(propDiscribe.length==1){//simple PropertyUtils.setProperty(o, name, value); }else{//nested property if(initNestedProperties(o,name)){ PropertyUtils.setNestedProperty(o, name, value); }; } } /** * 初始化嵌套属性前面的对象 * 如a.b.name 先检测对象a的b属性是否为null,若是构造空对象 * @param obj * @param fieldDescribe * @return */ private static boolean initNestedProperties(Object obj, String fieldDescribe){ try{ String[] fieldNames = fieldDescribe.split("\\."); if (fieldNames.length > 1) { StringBuffer nestedProperty = new StringBuffer(); for (int i = 0; i < fieldNames.length - 1; i++) { String fn = fieldNames[i]; if (i != 0) { nestedProperty.append("."); } nestedProperty.append(fn); Object value = PropertyUtils.getProperty(obj, nestedProperty.toString()); if (value == null) { PropertyDescriptor propertyDescriptor = PropertyUtils.getPropertyDescriptor(obj, nestedProperty.toString()); Class<?> propertyType = propertyDescriptor.getPropertyType(); Object newInstance = propertyType.newInstance(); PropertyUtils.setProperty(obj, nestedProperty.toString(), newInstance); } } } }catch (Exception e) { e.printStackTrace(); return false; } return true; } }
public class A { private String name; private B b; public String getName() { return name; } public void setName(String name) { this.name = name; } public B getB() { return b; } public void setB(B b) { this.b = b; } }
public class B { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
发表评论
-
java 工程中静态常量类问题
2015-05-27 10:42 1024在搭建java工程时,一般都会建有一个常量类Constants ... -
java计算排列结果内容
2014-06-16 11:06 602递归方法 /** * 递归计算 * @param ... -
java 序列化
2014-03-18 17:41 900以有序的字节数组形式描述java对象, 包括对象的描述信息(类 ... -
HttpClient 登陆iteye
2014-02-21 16:10 1073static String cookie; static ... -
java 调用 oracle 存储过程
2014-02-08 14:45 610private static String url =&qu ... -
log4j 配置
2014-01-22 17:49 677log4j日志配置 1.log4j.rootLogger ... -
tomcat 使用log4j记录分割日志
2014-01-16 10:51 5594tomcat日志记录默认使用java.util.logging ... -
java 正则
2013-10-29 16:47 751\d 数字0-9 \D 非数字[^0-9] \s 空白字符[ ... -
eclipse 取消汉化
2013-03-06 11:36 1895方法一:在eclipse.ini文件中添加启动参数 -Duse ... -
java 进度条上传
2013-02-28 10:00 940上传ajax方式,可用juery.ajaxupload插件 ... -
java 调用 webservice
2013-01-07 11:14 2235只想调用远处webservice,不构建自己的,看了一些资料都 ... -
java nio SocketChannel 服务器端与多客户端 信息交互(聊天功能)
2013-01-05 15:24 5037服务器端: import java.io.IOExcept ... -
java nio buffer
2012-12-31 17:54 1098buffer是固定数量的数据的容器,可以被填充和读取。 一个 ... -
java Integer
2012-09-06 14:33 0java Integer比较 public stat ... -
Apache Commons DbUtils
2011-12-06 11:11 1545dbutils jar下载地址http://labs.renr ... -
solr服务器的搭建与简单使用
2011-08-17 11:30 0solr安装: 1.下载(v1.4.1) ht ... -
protected访问权限又理解了一下
2011-06-30 14:46 1671看java的克隆时遇到问题 不能直接调用Object类的clo ... -
lucence hello world
2011-04-27 12:24 1134/* * lucence version 3.0.3 ... -
局域网流量监控原理(java)
2011-04-25 11:11 2343使用jpcap开源java包。(http://netresea ... -
apache commons beanutils
2011-02-22 16:16 1573官网下载jar包http://commons.apache.o ...
相关推荐
在某些情况下,可能需要自定义封装逻辑,比如处理复杂的嵌套数据结构,或者需要在赋值前后执行额外的操作。这时,可以使用JavaBean的预设方法(如`@PreSet`和`@PostSet`)或者自定义转换器。 7. **工具类和库**: ...
这个方法通常接收一个XML字符串作为参数,并根据预先定义的映射规则,解析XML中的元素和属性,将其赋值给JavaBean的对应属性。映射规则可以是硬编码的,也可以通过注解或其他配置文件来指定。一旦解析完成,`fromXml...
这个类库提供了许多实用方法,能够简化Java开发中的对象属性赋值和获取过程,极大地提高了开发效率。在Java后端开发中,尤其是在与数据库交互时,BeanUtils扮演了重要的角色。 首先,BeanUtils的核心功能在于属性的...
注意,由于JSON解析后的列表对象不包含类型信息,因此在转换时可能会出现警告,提示尝试将属性赋值给错误的类。这通常是因为JSON中的键与JavaBean的属性名称匹配,但类型不匹配。 ```java List<T2> lists2 = t....
深度拷贝允许复制一个JavaBean的所有属性到另一个JavaBean,即使它们是嵌套的或者包含复杂的数据结构。对于集合类型的处理,BeanUtils可以将集合元素一一映射到JavaBean对象,反之亦然,这对于数据转换非常有用。 ...
这个库大大简化了JavaBean之间的属性赋值操作,特别是在处理大量数据映射时,提供了很大的便利。BeanUtils是Apache Commons项目的一部分,它包含了多个与JavaBean相关的实用工具类。 BeanUtils的核心功能在于提供了...
在上述示例的运行结果中,出现了`JSONObject toBean`警告,提示尝试将`bbb`属性赋值给`T3`类,这通常是由于JSON数据中的某个字段在目标JavaBean类中没有相应的属性。为了解决这个问题,需要确保JSON数据中的每个字段...
- 它还提供了`PropertyUtils`类,可以方便地处理复杂的bean属性,如嵌套属性和集合属性。 2. **Apache Commons Codec**: - Commons Codec库提供了多种编码和解码算法的实现,这些算法在处理字符串或数据时非常...
这在数据模型转换或者表单验证时非常有用,可以避免手动一个一个属性进行赋值。 2. **类型转换** BeanUtils在进行属性拷贝时,会自动处理类型转换。例如,源对象的某个属性是字符串,目标对象对应的属性是整型,...
`PropertyUtils`类则提供了更多的属性操作方法,如获取、设置属性值,甚至可以处理复杂的嵌套属性。 这些Apache Commons库在实际开发中非常常用,它们通过提供高度封装的函数和工具类,降低了代码复杂度,提高了...
4. **递归复制**:如果源对象或目标对象的属性是另一个复杂对象,`BeanUtilsBean`会递归地调用自身,处理嵌套的对象复制。 5. **异常处理**:在复制过程中,如果遇到无法转换的类型或空值,`BeanUtilsBean`通常会抛...
1. **属性访问**:BeanUtils提供了`getProperty()`和`setProperty()`方法,可以方便地读取和设置JavaBean对象的属性,即使属性是嵌套的,也可以通过点号分隔的路径来操作。 2. **类型转换**:库内置了多种类型的...
set 标签用于为变量或 JavaBean 中的变量属性赋值的工作。这个标签用于在某个范围(page、request、session、application 等)中使用某个名字设定特定的值,或者设定某个已经存在的 javabean 对象的属性。他类似于 (...
例如,如果JavaBean有一个`name`属性,我们可以通过`data.name`来访问它。 5. **返回List、Map和Set** 当Java方法返回`List`、`Map`或`Set`等集合类型时,DWR同样会自动转换成JavaScript数组或对象。对于`List`,...
当需要在页面上使用一些简单的JavaBean对象时,可以直接利用`bean`标签创建这些对象,并初始化它们的属性: ```xml ``` #### 四、总结 通过本文的介绍,我们可以看到WebWork提供的标签库非常实用且强大。...
在JSP页面中,正确引入JavaBean的语法是使用指令的import属性引入,因此C选项正确。 IPTV代表Internet Protocol Television,即网络电视,通过互联网传输电视内容。 C语言的循环结构中,给出的程序段会打印三个星...
- `commons-beanutils.jar`:简化了POJO的属性赋值和拷贝操作。 - `commons-validator.jar`:用于表单验证。 - **Struts标记库文件(tld)**: - `struts-bean.tld`:提供与Bean相关的标签。 - `struts-...
4. C语言中,不同函数可以使用相同名字的变量,函数可以没有返回值,但函数不能嵌套定义,因此B选项是错误的。 5. Python的fun1函数使用*args接收可变数量的位置参数,打印结果将分别打印a、b和args元组,所以正确...
这种转换可能会遇到的问题包括类型不兼容、嵌套对象处理、以及Java特定特性的缺失,如静态方法或私有属性。因此,`readObj`函数可能需要包含错误处理和适配代码,以确保成功转换。 8. **应用实例**: 这种技术...