2015年11月9日星期一

C#实现jQuery的方法连缀 - JackWang-CUMT

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
C#实现jQuery的方法连缀 - JackWang-CUMT  阅读原文»

  jQuery的方法连缀使用起来非常方便,可以简化语句,让代码变得清晰简洁。那C#的类方法能不能也实现类似的功能呢?基于这样的疑惑,研究了一下jQuery的源代码,发现就是需要方法连缀的函数方法最后返回对象本身即可。既然javascript可以,C#应该也是可以的。

  为了验证,编写一个jQPerson类,然后用方法连缀对其ID,Name,Age等属性进行设置,请看下面的代码:

1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6
7 namespace CSharpMethodLikeJQuery
8 {
9 public class jQPerson
10 {
11 string Id { set; get; }
12 string Name { set; get; }
13 int Age { set; get; }
14 string Sex { set; get; }
15 string Info { set; get; }
16
17 public jQPerson()
18 {
19
20 }
21 /// <summary>
22 /// 设置ID,返回this,即jQPerson实例
23 /// </summary>
24 /// <param name="Id"></param>
25 /// <returns></returns>
26 public jQPerson setId(string Id)
27 {
28 this.Id = Id;
29 return this;
30 }
31 /// <summary>
32 /// 返回this,即jQPerson实例
33 /// </summary>
34 /// <param name="name"></param>
35 /// <returns></returns>
36 public jQPerson setName(string name)
37 {
38
39 this.Name = name;
40 return this;
41 }
42 /// <summary>
43 /// 返回this,即jQPerson实例
44 /// </summary>
45 /// <param name="age"></param>
46 /// <returns></returns>
47 public jQPerson setAge(int age)
48 {
49
50 this.Age = age;
51 return this;
52 }
53 /// <summary>
54 /// 返回this,即jQPerson实例
55 /// </summary>
56 /// <param name="sex"></param>
57 /// <returns></returns>
58 public jQPerson setSex(string sex)
59 {
60
61 this.Sex = sex;
62 return this;
63 }
64 /// <summary>
65 /// 返回this,即jQPerson实例
66 /// </summary>
67 java 如何在pdf中生成表格 - WhyWin  阅读原文»

1、目标

  在pdf中生成一个可变表头的表格,并向其中填充数据。通过泛型动态的生成表头,通过反射动态获取实体类(我这里是User)的get方法动态获得数据,从而达到动态生成表格。

  每天生成一个文件夹存储生成的pdf文件(文件夹的命名是年月日时间戳),如:20151110

  生成的文件可能在毫秒级别,故文件的命名规则是"到毫秒的时间戳-uuid",如:20151110100245690-ece540e5-7737-4ab7-b2d6-87bc23917c8c.pdf

  通过读取properties文件动态获取文件存储的跟目录。获取方式可查看:http://www.cnblogs.com/0201zcr/p/4700418.html

2、所需的jar

  这里通过itex插件进行pdf的生成,需要的jar包括以下几个

3、编码实现

1)、实体类,通过

package com.zcr.until;

public class User
{
private String name;
private int age ;
private float height;
private String adress;
private String sex;
private String jj;

public String getJj()
{
return jj;
}

public void setJj(String jj)
{
this.jj = jj;
}

public User()
{

}

public User(String name,int age,float height,String adress,String sex,String jj)
{
this.name = name;
this.age = age;
this.height = height;
this.adress = adress;
this.sex = sex;
this.jj = jj;
}

public String getAdress()
{
return adress;
}

public void setAdress(String adress)
{
this.adress = adress;
}

public String getSex()
{
return sex;
}

public void setSex(String sex)
{
this.sex = sex;
}



public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public float getHeight() {
return height;
}
public void setHeight(float height) {
this.height = height;
}

}

2)、properties文件

pdfPath=E\:/appDataPdf

3)、读取properties文件,获取pdf存储的路径

package com.zcr.until;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class GetFilePlace
{
/**
* 读取文件,获取excel保存的根目录
*
@return excel保存的根目录
*/
public String getFilePath()
{
String dir
= System.getProperty("user.dir"); //获得tomcat所在的工作路径

//获取到存储了文件存储位置的filedir.properties 文件路径 --->java Project的文件路径
String realDir = dir + File.separator + "src" + File.separator +"META-INF" + File.separator + "filedir.properties";

     //Web project存储路径
/*String realDir = dir.substring(0, dir.length()-4) + File.separator +"webapps" + File.separator + "generateExcels"
+ File.separator + "classes" + File.separator + "META-INF" + File.separator + "config" + File.separator + "filedir.properties";
*/
return realDir;
}

/**
* 获取filePath路径【properities文件】中key对应的值,
*
@param filePath properities文件路径【包含properities文件】
*
@param key 要查找的key值
*
@return key对应的value
*/
public String GetValueByKey(String filePath, String key)
{
Properties pps
= new Properties();
try {
InputStream in
= new BufferedInputStream (

没有评论:

发表评论