`
文章列表
MQ导入接口其实很简单,框架内部只是实现了Beanpostprocessor接口和ApplicationListener 接口即可。 1、在Beanpostprocessor接口找到使用了@EsbEIServiceService注解的Bean,获取Bean中的注解信息,包括队列连接工厂、监听队列、消息监听器Bean等信息。 2、在ApplicationListener接口中根据前面获取到的注解信息,生成DefaultMessageListenerContainer(内部实现异步消息监听)对象, 调用start()方法来实现对队列的消息监听。 (在start方法内部对每个消息监听器都会起一个单独的 ...

HTML表格

    博客分类:
  • css
<!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 ...

Spring文件上传

文件上传可以使用普通的表单提交,也可以使用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& ...

Spring文件下载

@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 ...
Global site tag (gtag.js) - Google Analytics