- 浏览: 130883 次
- 性别:
- 来自: 南京
最新评论
-
菜鸟900101:
真心谢谢,解决了我头疼好几天的问题,谢谢谢谢
使用Ftpclient从FTP上进行下载时文件少一个字节,打不开 -
一生荣耀白:
[u][/u]
Freemarker分页的宏 -
liyang678:
这样不就得要求 被请求一方必须按您的这种XML格式解析吗。
使用HttpClient、注解、动态代理、Spring的Bean后处理器实现Http消息发送 -
liyang678:
可以演示一下如何调用吗。不是很明白呢。
使用HttpClient、注解、动态代理、Spring的Bean后处理器实现Http消息发送 -
hzxlb910:
...
使用TransactionTemplate来完成Spring的编程式事务管理
文章列表
MQ导入接口其实很简单,框架内部只是实现了Beanpostprocessor接口和ApplicationListener 接口即可。
1、在Beanpostprocessor接口找到使用了@EsbEIServiceService注解的Bean,获取Bean中的注解信息,包括队列连接工厂、监听队列、消息监听器Bean等信息。
2、在ApplicationListener接口中根据前面获取到的注解信息,生成DefaultMessageListenerContainer(内部实现异步消息监听)对象,
调用start()方法来实现对队列的消息监听。
(在start方法内部对每个消息监听器都会起一个单独的 ...
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>淘宝网 - 淘!我喜欢</title>
<style>
.uiText{
background: url("inputbg.png") no-repeat scroll 0 0 transparent;
border: 1px solid #CACACA;
heigh ...
freemarker使用小技巧:
1、判断变量是否存在
<#if userName??> 判断userName是否存在,为null和没这个变量都代表不存在
2、整数转化为字符串,字符串转化为整数
${xx?string} //字符串
${xx?number}//整数
3、在比较运算符的两端如果不是同一种数据类型,freemarker会报错
a=1,b="1" <#if a==b??>这个时候就会报错
改成这样:<#if a?string==b??>
4、当一个变量为null或者不存在时,直接取这个变量的值会报错
userNam ...
在ftl中添加如下一行设置数字的格式:
<setting number_format="#">
当数据超过3位的时候,freemarker会自动用逗号截取 格式如:2,008
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.comm ...
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.io.IOUtils;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Shee ...
/**
*
* 使用poi方式生成excel报表 <br>
* 〈功能详细描述〉
*
* @param exportList:数据列表
* @param columnNames:字段的列明数组(对应的就是Map中的Key值)
* @param templateName:Excel模板名称
* @param fileName:生成的Excel文件名
* @param index:使用第几个Sheet页
* @param insertLine:从Excel ...
/**
*
* 生成CSV文件:第一行是文件标题,第二行是字段名称,第三行开始是具体的业务数据 <br>
* 〈功能详细描述〉
*
* @param fileName:文件名
* @param title:文件标题
* @param cloumnNames:字段名数组
* @param keys:字段Key数组
* @param dataList:数据列表
* @param response
* @see [相关类/方法](可选)
...
当一段很长的文字在一个DIV中,DIV有宽度限制,当文字超出指定宽度后会自动换行
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script>
</script>
</head>
</style>
<body>
<div style='width:150px;height:150px;bo ...
SyntaxHighlighter是一个非常不错的代码高亮工具,支持各种平台,只需要前台载入代码即可。
第一步:
1、引入需要的js和css
<script type="text/javascript" src="scripts/shCore.js"></script>
<link type="text/css" rel="stylesheet" href="styles/shCore.css"/>
<link type=&q ...
文件上传可以使用普通的表单提交,也可以使用AJAX异步提交,如果需要使用AJAX提交则需要引入juery.form.js。
1、普通的表单提交文件上传
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="2.4& ...
@Controller
public class MyController {
/**
*
* 从服务器上下载文件到本地 <br>
* 〈功能详细描述〉
*
* @param request
* @param response
* @see [相关类/方法](可选)
* @since [产品/模块版本](可选)
*/
@RequestMapping("/downLoadFile.action")
public vo ...
public class ReflectTest {
public static void main(String[] args) throws Exception {
ReflectTest reflectTest=new ReflectTest();
Method method=reflectTest.getClass().getMethod("say", Map.class);
Map<String,Object> params=new HashMap<Stri ...
深入研究线程池
一.什么是线程池?
线程池就是以一个或多个线程[循环执行]多个应用逻辑的线程集合.
注意这里用了线程集合的概念是我生造的,目的是为了区分执行一批应用逻辑的多个线程和
线程组的区别.关于线程组的概念请参阅基础部分.
一般而言,线程池有以下几个部分:
1.完成主要任务的一个或多个线程.
2.用于调度管理的管理线程.
3.要求执行的任务队列.
那么如果一个线程循环执行一段代码是否是线程池?
如果极端而言,应该算,但实际上循环代码应该算上一个逻辑单元.我们说最最弱化的线程池
应该是循环执行多个逻辑单元.也就是有一批要执行的任务,这些任务被独立为多个不同的执行
单元.比如:
int x = ...
第1种方式:
public class PayJob extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
System.out.println("PayJob开始执行。。。。。。");
}
}
public class PunchJob extends QuartzJobBean {
@Override
protec ...