- 浏览: 142778 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
ling凌yue月:
Yes,it's good!
JavaScript实现ReplaceAll 方法 -
lj1214388:
请问楼主,我导入了struts-jquery-plugin 的 ...
Jquery Ui 日期控件
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import cn.com.css.zero.student;
public class TestCopy {
/**
* copy map to class
* @throws ClassNotFoundException
* @throws InvocationTargetException
* @throws IllegalAccessException
* @throws IllegalArgumentException
* @throws InstantiationException
*/
public static void copyMapToClass(student student, Map map) throws ClassNotFoundException, IllegalArgumentException, IllegalAccessException, InvocationTargetException, InstantiationException{
Set set = map.keySet();
Map mapProperty = new HashMap();
Class cla = student.getClass();
//获得属性
Field[] f=cla.getDeclaredFields();
//获得方法
Method[] methods = cla.getDeclaredMethods();
Map mapMethod = new HashMap();
for(int i=0; i<methods.length; i++){
Method m= methods[i];
mapMethod.put(m.getName(), m);
}
//解析属性
for (Field field : f) {
//获得属性名称
String propertyName = field.getName();
//获得属性类型
String propertyType = field.getType().toString();
//属性类型
propertyType = getPropertyName(propertyType);
mapProperty.put(propertyName, propertyType);
}
//实际属性
Set set2 = mapProperty.keySet();
for(Object objs: set){
Object type = mapProperty.get(objs);
if(type!=null && !type.toString().trim().equals("")){
//获得方法名
String methodName = getGetMethodName(objs.toString());
//获得实际方法
Object objMethod = mapMethod.get(methodName);
if(objMethod!=null){
Method method = (Method)objMethod;
//获得属性类型
Object proType = mapProperty.get(objs);
if(proType==null || proType.toString().trim().equals("")){
continue;
}
String propertyType = proType.toString();
if(propertyType.toString().trim().equals("String")){
method.invoke(student, map.get(objs));
}
if(propertyType.toString().trim().equals("Integer") || propertyType.toString().trim().equals("int")){
if(objs!=null && !objs.toString().trim().equals("")){
Integer value = Integer.parseInt( map.get(objs).toString() );
method.invoke(student, value);
}
}
if(propertyType.toString().trim().equals("Byte") || propertyType.toString().trim().equals("byte")){
if(objs!=null && !objs.toString().trim().equals("")){
Byte value = Byte.parseByte( map.get(objs).toString() );
method.invoke(student, value);
}
}
if(propertyType.toString().trim().equals("Short") || propertyType.toString().trim().equals("short")){
if(objs!=null && !objs.toString().trim().equals("")){
Short value = Short.parseShort( map.get(objs).toString() );
method.invoke(student, value);
}
}
if(propertyType.toString().trim().equals("Long") || propertyType.toString().trim().equals("long")){
if(objs!=null && !objs.toString().trim().equals("")){
Long value = Long.parseLong( map.get(objs).toString() );
method.invoke(student, value);
}
}
if(propertyType.toString().trim().equals("Double") || propertyType.toString().trim().equals("double")){
if(objs!=null && !objs.toString().trim().equals("")){
Double value = Double.parseDouble( map.get(objs).toString() );
method.invoke(student, value);
}
}
if(propertyType.toString().trim().equals("Float") || propertyType.toString().trim().equals("float")){
if(objs!=null && !objs.toString().trim().equals("")){
Float value = Float.parseFloat( map.get(objs).toString() );
method.invoke(student, value);
}
}
if(propertyType.toString().trim().equals("Boolean") || propertyType.toString().trim().equals("boolean")){
if(objs!=null && !objs.toString().trim().equals("")){
Boolean value = Boolean.valueOf(map.get(objs).toString());
method.invoke(student, value);
}
}
if(propertyType.toString().trim().equals("Character") || propertyType.toString().trim().equals("char")){
if(objs!=null && !objs.toString().trim().equals("")){
Character value = Character.valueOf( map.get( objs ).toString().toCharArray()[0] );
method.invoke(student, value);
}
}
}
}
}
}
/**
* 第一个字母大写
* @param property
* @return
*/
public static String getGetMethodName(String property){
String reStr = "";
if(property==null || property.toString().trim().equals("")){
return reStr;
}
char[] chars = property.toCharArray();
if(chars==null || chars.length == 0){
return reStr;
}
String c = chars[0] + "";
c = c.toUpperCase();
char c1 = c.toCharArray()[0];
chars[0] = c1;
reStr = new String(chars);
reStr = "set" + reStr;
return reStr;
}
/**
* 第一个字母大写
* @param property
* @return
*/
public static String getSetMethodName(String property){
String reStr = "";
if(property==null || property.toString().trim().equals("")){
return reStr;
}
char[] chars = property.toCharArray();
if(chars==null || chars.length == 0){
return reStr;
}
String c = chars[0] + "";
c = c.toUpperCase();
char c1 = c.toCharArray()[0];
chars[0] = c1;
reStr = new String(chars);
reStr = "get" + reStr;
return reStr;
}
/**
* 获取一个字符串中最后一个.之后的内容
* @param property
* @return
*/
public static String getPropertyName(String property){
String initValue = property;
int pos = property.indexOf(".");
String reStr = property;
int re = pos;
while(pos>0 ){
property = property.substring(pos + 1);
pos = property.indexOf(".");
reStr = property;
re = pos;
}
return reStr;
}
public static String toString(Object obj) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException{
StringBuffer sb = new StringBuffer();
sb.append(obj.toString());
sb.append("(") ;
sb.append("\n");
Class cla = obj.getClass();
Field[] fields = cla.getDeclaredFields();
Method[] methods = cla.getDeclaredMethods();
Map mapMethod = new HashMap();
for(Method method : methods){
mapMethod.put(method.getName(), method);
}
for (Field field : fields) {
//获得属性名称
String propertyName = field.getName();
String methodName = getSetMethodName(propertyName);
//获得实际方法
Object objMethod = mapMethod.get(methodName);
if(objMethod!=null){
Method method = (Method)objMethod;
//调用方法
Object returnValue = method.invoke(obj);
sb.append("\t");
sb.append(field.getName() + " : " + returnValue);
sb.append("\n") ;
} else {
methodName = methodName.replaceAll("get", "is");
objMethod = mapMethod.get(methodName);
if(objMethod!=null){
Method method = (Method)objMethod;
//调用方法
Object returnValue = method.invoke(obj);
sb.append("\t");
sb.append(field.getName() + " : " + returnValue);
sb.append("\n") ;
}
}
}
sb.append(")") ;
return sb.toString();
}
public static void main(String[] args) throws ClassNotFoundException, IllegalArgumentException, IllegalAccessException, InvocationTargetException, InstantiationException{
Map map = new HashMap();
map.put("id", "1234567");
map.put("name", "kelongmaode");
map.put("clazz", "1101");
map.put("myshort", "1101");
map.put("mylong", "1101");
map.put("mydouble", "1101");
map.put("myfloat", "1101");
map.put("myboolean", "true");
map.put("mychar", "a");
map.put("mybyte", "1");
student student = new student();
copyMapToClass(student, map);
String str = toString(student);
System.out.println(str);
}
}
package cn.com.css.zero;
public class student {
private String name;
private int id;
private String clazz;
private boolean myboolean;
private float myfloat;
private double mydouble;
private short myshort;
private long mylong;
private char mychar;
private byte mybyte;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getClazz() {
return clazz;
}
public void setClazz(String clazz) {
this.clazz = clazz;
}
public boolean isMyboolean() {
return myboolean;
}
public void setMyboolean(boolean myboolean) {
this.myboolean = myboolean;
}
public float getMyfloat() {
return myfloat;
}
public void setMyfloat(float myfloat) {
this.myfloat = myfloat;
}
public double getMydouble() {
return mydouble;
}
public void setMydouble(double mydouble) {
this.mydouble = mydouble;
}
public short getMyshort() {
return myshort;
}
public void setMyshort(short myshort) {
this.myshort = myshort;
}
public long getMylong() {
return mylong;
}
public void setMylong(long mylong) {
this.mylong = mylong;
}
public char getMychar() {
return mychar;
}
public void setMychar(char mychar) {
this.mychar = mychar;
}
public byte getMybyte() {
return mybyte;
}
public void setMybyte(byte mybyte) {
this.mybyte = mybyte;
}
}
- CopyMspToClass.rar (8.3 KB)
- 下载次数: 4
发表评论
-
Goole 地图 根据经纬度获取地址
2012-12-10 22:40 827package com.jueyue; import jav ... -
百度地图根据地址获取经纬度
2012-12-10 21:31 8434package com.jueyue; import jav ... -
Java对象的序列化和反序列化实践
2012-12-10 19:52 647当两个进程在进行 ... -
HttpClient 实现访问 HTTPS
2012-11-08 11:24 0避免HttpClient的”javax.net.ssl.SSL ... -
实现一个线程池
2012-05-17 22:40 797public class SjgxrwStartQuest e ... -
通过 HttpClient 下载 文件
2011-10-27 13:49 1009需要有的Jar; * commons-httpclie ... -
Java 文件拷贝
2011-10-26 18:26 783public static void saveFiles(S ... -
生成jar文件的方法
2011-10-13 01:20 716JAR --Java Archive File,顾 ... -
文件下载
2011-08-30 13:58 711public ModelAndView downloadFil ... -
Java实现类排序
2011-07-12 16:07 896用Java实现类排序 如下步骤: 1 待排序的类实现 ... -
web service(axis)例子HelloService步骤说明
2011-07-12 11:36 9581.将axis1.1目录下webapps下的axis包拷贝到t ... -
解决一台机器同时运行多个Tomcat服务
2011-07-12 10:07 881如果不加任何修改,在一台服务器上同时运行两个Tomcat服务显 ... -
Java 解析 Word Word 中的表格
2011-07-04 22:15 4374import java.io.File; import ... -
Java 解析 PDF, pdfbox读取PDF内容
2011-07-04 20:59 6361import java.io.ByteArrayOutputS ... -
Java 页面表格导出Word
2011-06-21 10:28 1765StringBuffer sb = new StringBuf ... -
Java 页面表格导出Word
2011-06-21 10:25 1324StringBuffer sb = new StringBuf ... -
利用lucene对整个数据库建立索引(lucene,SQL,JDBC)(
2011-06-16 23:38 1065导言: 如果要对整个数据库做精确查询或模糊查询,我们怎么才可 ... -
Java Mail 收发邮件
2011-06-15 22:24 855import javax.mail.Address;impor ... -
Java对象序列化
2011-03-09 22:47 721被序列化的类要implements Serializab ... -
JavaScript 为Select添加节点
2011-03-01 09:53 972function addOption(){ var ...
相关推荐
- 填充报表数据,创建`JasperPrint`对象,这需要一个`Map`对象来存储报表参数和数据源。 - 如果需要,可以对`JasperPrint`对象进行进一步处理,比如添加页眉页脚、调整样式等。 3. **JSP页面交互**: - 在JSP...
总结来说,"图框生成和批量打印工具V5.2"是一个高效、实用的GIS辅助工具,它的图框生成功能和批量打印能力,对于地理信息行业的专业人士来说,无疑是一把利器。配合其良好的软件兼容性和丰富的配套资源,使得用户...
然而,JAI并不直接支持一维码的生成,通常需要配合其他库一起使用,例如Barbecue,一个基于Java的条码生成库。但请注意,JAI已经被弃用,所以除非有特殊需求,否则不推荐使用。 在你提到的压缩包文件中,包含了一个...
MAP文件是IAR编译器编译生成的文件,记录了程序在内存中的分布情况。 在IAR工程中,MAP文件是编译生成的文件,记录了程序在flash中的分布情况。MAP文件主要分为四部分:A1、A2、P1、P2。其中,A1部分是向量表,A2...
3. **编写二维码生成代码**: 使用ZXing提供的`com.google.zxing.client.j2se.MatrixToImageWriter`类,可以将数据编码为一个图像,这便是二维码。例如: ```java Map, ErrorCorrectionLevel> hints = new HashMap...
接下来,我们将创建一个新的控制器,名为`StrController`,并添加一个`QRcode`方法来处理二维码生成。在这个方法中,我们首先初始化一个`BarcodeWriter`对象,并将其格式设置为`BarcodeFormat.QR_CODE`,以指定我们...
2. **准备数据模型**:在Java代码中,创建一个对象或Map,包含将要填充到模板中的数据。 3. **处理模板**:使用Freemarker API的`Configuration`和`Template`类,将数据模型应用到模板上,生成HTML字符串。 4. **...
总结来说,这个项目可能包含一个使用Java内部类和FreeMarker模板引擎的实例,通过`JspToHtml.java`将JSP转换为HTML文件,而`freemarker-2.3.19.jar`则提供了动态生成HTML的能力。通过这样的组合,开发者可以轻松地...
5. **生成Word文档**:使用`Template`对象的`process`方法,传入数据模型和一个`OutputStream`,FreeMarker会根据模板和数据生成Word文档。Apache POI库可以帮助你创建一个`XWPFDocument`对象,这个对象可以将生成的...
- **MapScript**:一个编程接口,用于与MapServer交互,支持多种编程语言如PHP、Python等。 - **Mapfile**:配置文件,用于定义地图层、样式等信息。 2. **MapServer的应用结构**: - 用户通过Web浏览器发送请求...
该工具名为"生成图框、批量...总体来说,这个工具简化了GIS用户的制图流程,提高了批量处理地图文档的效率,并且兼容常见的GIS坐标系统和输出格式,对于需要频繁进行地图制图和输出的用户来说,是一个实用的辅助工具。
在Apache POI中,`HWPFDocument`类用于表示一个旧版的Word文档(.doc格式)。通过它,我们可以访问并操作Word文档的内容,如文本、表格、字段等。 3. **Fields和Field类**: `Fields`类代表文档中的所有字段,而`...
这里,`YourPojo`是自定义的Java类,包含一个List字段和一个Map字段,Spring MVC会自动将接收到的JSON数据映射到这个类的实例上。 在实际应用中,你可能还需要关注跨域请求(CORS)问题,因为默认情况下,浏览器...
Java使用Apache POI-TL库生成Word文档是一个高效且灵活的方法,尤其在处理大量结构化数据时。Apache POI是一个广泛使用的开源库,它允许Java开发者读写Microsoft Office格式的文件,而POI-TL(Template-based ...
在实现动态列打印时,我们需要首先从页面中获取要查询的字段,然后根据选择的字段生成相应的报表。下面是实现代码的部分内容: ```java String[] printValue = null; // 从页面中获得要查询的字段 String ...
7. **资源**:可能包含在压缩包中的"095-excel_ole6"文件,可能是教程、示例代码或者一个完整的PowerBuilder项目文件,用于演示如何实现数据窗口到Excel的导出过程。 在实际操作中,开发者通常会使用PowerScript...
标签为空,而部分内容展示的是一系列的文件名,包括截图和一个名为 "jdevice_id_map.bat" 的批处理文件,但没有提供这些文件的详细内容或用途。批处理文件(.bat)在Windows操作系统中通常用于执行一系列命令,但...
Freemarker是一个强大的模板引擎,常用于动态生成HTML、XML或其他文本格式的文件。在Java开发中,Freemarker被广泛应用于生成静态页面或者自定义报告。本篇将深入探讨如何利用Freemarker来生成PDF文档。 PDF...
ArcGIS JavaScript 打印小部件这是一个用于的 Dojo 打印小部件。 将使用打印服务生成地图的 PDF。 示例配置: { "name" : "print" , "path" : "widgets/print/print" , "options" : { "printUrl" : ...