欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【2016-02-23】近期小结 博客分类: 随便唠唠 小结 

程序员文章站 2024-03-20 08:23:16
...

1)如何在Action或Servlet中获得webRoot下的文件的File对象?

HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST); 
		HttpServletResponse response = (HttpServletResponse) ActionContext.getContext().get(ServletActionContext.HTTP_RESPONSE); 
		String rootPath = request.getServletContext().getRealPath("/");
		File f = new File(rootPath + "webRoot下的子目录/test.txt");
		System.out.println(f);

 

 2)做pdf导出时报错:

net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font : 

pdfFontName   : STSong-Light

pdfEncoding   : UniGB-UCS2-H

isPdfEmbedded : true

是因为缺少对亚洲中文字体支持的原因 ,需另外添加jar包:itext-asian.jar(最好去Itext的官网上下载extrajars,然后提取里面的itext-asian.jar哦~

 

3)iReport导出pdf时不显示中文(注意是不显示而不是乱码)

在已经引入itext-asian.jar的情况下,还是根本不显示中文。这时候应该确保你的模板文件中,显示中文的Label要同时指定以下属性哦:

Pdf Font name: STSong-Light

Pdf Embedded: 打上勾

Pdf Encoding: UniGB-UCS2-H(Chinese Simpled)

 

4)ajax将参数传给后台,遇中文乱码。

提交前采用encodeURI两次编码,记住一定是两次 ,如:encodeURI(encodeURI('标题')), 后台接收用URLDecoder.decode(参数, “UTF-8″); 

但如果是form表单传递中文参数值,提交前只需encodeURI编码一次,如:encodeURI('标题'),后台也是URLDecoder.decode(参数, “UTF-8″); 即可。但如果遇到导出,可能需要再次encode.

 

5)join函数的使用

如果你想把一个字符串数组或集合变成一个纯字符串,这个纯字符串的子字符串之间用,分隔。你可以这样写:

集合:list.toString().replace("[", "").replace("]", "");

数组:Arrays.toString(array).replace("[", "").replace("]", "");

这样是可以实现,但是港真,显得有点儿不太规范化和专业化。

直接使用org.apache.commons.lang包的StringUtils类的join函数即可,而且可以不用管它是数组还是集合:

StringUtils.join("数组或集合的变量", ",")即可实现相关功能哦;

 

6)注意这种写法:

Map<String, List<String>> map = new HashMap<String, List<String>>();
List<String> list = new ArrayList<String>();
map.put("list", list);
list.add("a");
list.add("b");
list.add("c");
System.out.println(map);

 运行之后依然可以得到{list=[a,b,c]}这里虽然list的add操作在map的put操作之后,但是依然可以。原因是list是引用变量。

 

7)Jquery 选择多个class 

<a class="c1 c2">B块</a>

 则想要选择a,要这样选择:

$("a[class='c1 c2']")

 而不能:

$(".c1 c2")

 

 

相关标签: 小结