`
babydeed
  • 浏览: 238283 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用注解和反射构造ext的grid需要的列模型

    博客分类:
  • Ext
阅读更多

注解类:

 

package xzd;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented  
@Inherited  
public @interface FieldsAnnotation {
	String header();
	long width() default 100;
	long hidden();  //1代表显示 0 代表隐藏
}

 

 

一个实体类(内有测试 通过json-lib拼装的数据)

 

package xzd;

import java.lang.reflect.Field;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class Dog {
	@FieldsAnnotation(header="姓名",hidden=1)
	public String name;
	
	@FieldsAnnotation(header="地址",width=150,hidden=0)
	public String loc;
	
	@FieldsAnnotation(header="年龄",width=70,hidden=1)
	public long age;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getLoc() {
		return loc;
	}
	public void setLoc(String loc) {
		this.loc = loc;
	}
	public long getAge() {
		return age;
	}
	public void setAge(long age) {
		this.age = age;
	}
	
	public static void main(String[] args) {
		JSONArray jsonArray = new JSONArray();
		
		Field[] f = Dog.class.getDeclaredFields();
		for(int i =0;i<f.length;i++){
			if(f[i].isAnnotationPresent(FieldsAnnotation.class)){
				FieldsAnnotation fa = f[i].getAnnotation(FieldsAnnotation.class);
				JSONObject jsonObject= new JSONObject();
				jsonObject.accumulate("header",fa.header());
				jsonObject.accumulate("hidden",fa.hidden()==0?true:false);
				jsonObject.accumulate("width",fa.width());
				jsonArray.add(jsonObject);
			}	
		}
		System.out.println(jsonArray.toString());
	}
}
 

   打印结果:

   [{"header":"姓名","hidden":false,"width":100},{"header":"地址","hidden":true,"width":150},{"header":"年龄","hidden":false,"width":70}]

 

另附注解学习文章 :http://yangjunfeng.iteye.com/blog/400085

分享到:
评论
1 楼 fredzhangjy 2010-09-21  
嗯,不错的方法,学习。。

相关推荐

    java注解和反射的个人学习笔记

    java注解和反射的个人学习笔记

    Java自定义注解使用反射获取字段注解

    Java自定义注解是Java语言中的一个重要特性,它允许我们创建自己的元数据,为代码提供额外的信息。在Java中,注解(Annotation)主要用于编译器检查...理解并熟练运用自定义注解和反射,能够显著提升代码的质量和效率。

    使用注解和反射构建数据库框架

    通过学习和实践这种自定义数据库框架,开发者可以深化对注解、反射和泛型的理解,提高对Java特性的运用能力,并为未来更复杂的应用场景打下基础。同时,这也是对软件设计模式和最佳实践的一种探索,有助于提升软件的...

    java注解和反射的12个demo.zip

    Java注解和反射是Java编程中的重要特性,它们极大地增强了代码的灵活性和可维护性。在Java中,注解(Annotation)是一种元数据,它提供了将信息附加到代码(类、方法、变量等)的方式,而反射则允许我们在运行时检查...

    Android-注解与反射注解知识点反射知识点注解java反射

    4. **运行时注解**:使用`java.lang.reflect`包中的API,如`getAnnotations()`,可以获取类、接口、构造函数、方法或字段上的注解信息。 5. **Android中的注解**:在Android开发中,例如`@NonNull`、`@Override`、`...

    java基础知识学习教程-12注解和反射.pptx

    本章节主要讲述Java中的注解和反射机制,涵盖了注解的基本概念、内置注解、元注解和自定义注解等知识点,并引入反射机制,详细介绍了反射的概念、Class类、通过反射获取注解、通过反射创建对象、通过反射调用方法和...

    一种基于Java注解和反射机制的Excel文件读写操作方法.pdf

    根据提供的文件信息,我们可以梳理出以下知识点: ...以上知识点详细阐述了文档中提到的方法和技术原理,为理解和应用Java注解和反射机制在Excel文件读写操作中的实际应用提供了理论基础和技术指导。

    注解和反射机制的学习笔记

    例如,Lombok库使用注解处理器在编译时自动添加getter、setter、equals、hashCode和toString方法,而MyBatis框架允许开发者通过注解定义SQL语句,这些语句在运行时通过反射被解析并执行。 总的来说,注解和反射是...

    使用注解整合ext dwr spring hibernate

    本话题主要关注如何通过注解方式集成EXT、DWR、Spring和Hibernate四个组件,构建一个高效的数据展示和交互的Web应用程序。 首先,EXT(Ext JS)是一个JavaScript库,用于构建用户界面,尤其适合创建富互联网应用...

    java 通过反射获取类上注解,方法上注解,注解里的值及方法参数

    在Java编程中,注解...这个示例涵盖了Java中使用反射获取注解的基本操作,包括类、方法、注解的值和方法参数。通过实践这个例子,你可以更好地理解和掌握这些概念,从而在实际项目中更有效地利用注解和反射。

    仿Litepal 注解和反射实现的数据框架

    接下来,我们需要一个注解处理器(Annotation Processor),它在编译期间扫描使用了特定注解的类,生成对应的SQL语句和辅助类。例如,注解处理器可以读取`@Table`注解,生成创建表的SQL语句,读取`@Column`注解,...

    使用反射和注解模拟Spring的依赖注入

    这篇博客"使用反射和注解模拟Spring的依赖注入"探讨了如何通过基本的Java特性来实现类似Spring的功能。我们将深入探讨反射和注解这两个关键概念,以及它们如何在模拟依赖注入中发挥作用。 首先,让我们理解反射的...

    java注解、java反射机制 jdbc 封装

    总之,这个案例结合了Java的三大利器——注解、反射和JDBC,旨在创建一个高效、灵活且易于扩展的数据访问层。对于想要深入理解Java高级特性的开发者来说,这是一个极好的学习资源。通过实践和研究,你可以掌握如何...

    java基础之注解和反射

    java基础之注解和反射

    java自定义注解和通过反射获取注解

    Java自定义注解和通过反射获取...总的来说,理解并熟练掌握Java自定义注解和反射的使用,对于提升Java开发者的编程能力和编写高质量代码具有重要意义。通过深入学习和实践,你可以创造出更加优雅和强大的Java应用程序。

    反射注解暴力反射详细思维导图.xmind

    反射注解暴力反射详细思维导图.xmind

    注解与反射-狂神说Java学习笔记

    在Java编程语言中,注解(Annotation)和反射(Reflection)是两个非常重要的高级特性,它们为程序提供了元数据信息和运行时动态操作类的能力。本文将深入探讨这两个概念及其在实际开发中的应用。 首先,让我们了解...

    servlet反射注解例子

    本文将详细探讨反射和注解在Servlet中的应用。 首先,让我们来了解一下什么是反射。反射是Java编程语言的一种特性,它允许运行中的程序检查和操作类、接口、方法和字段等对象。通过反射,我们可以在运行时动态地...

    运用注解改变反射之后类属性的顺序

    在Java编程中,反射是一种强大的工具,它允许我们在运行时检查和操作类、接口、字段和方法。然而,当我们通过反射获取类的属性时,可能会遇到一个常见的问题:属性的顺序并不总是按照我们期望的方式呈现。默认情况下...

Global site tag (gtag.js) - Google Analytics