摘要: 摘要: 上一节我们整理了FreeMarker与SpringMVC整合,这一节学习在领悟书生教程网中是怎样实现应用freemarker静态化页面(减少数据库查询)的。需求是这样的,我页面的底部,有“最新文章”和“热门文章”。因为每个页面都有这个显示,每次访问都要查询数据库,这不是太合理,所以在添加文章、修改文章和删除文章的时候,都查询数据库,生成一个jsp页面,然后嵌套在页面中。上一节我们整理了FreeMarker与SpringMVC整合,这一节学习在领悟书生教程网中是怎样实现应用freemarker静态化页面(减少数据库查询)的。这一节的标题我们就叫做FreeMarker在领悟教程网实战应用, 阅读全文
posted @ 2013-05-03 18:09 licomeback 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 摘要: SpringMVC环境的搭建在这里就不多说了,我们这节主要是FreeMarker与SpringMVC整合 首先,在springmvc的配置文件普通视图之前,加入freemarker的视图...SpringMVC环境的搭建在这里就不多说了,我们这节主要是FreeMarker与SpringMVC整合首先,在springmvc的配置文件普通视图之前,加入freemarker的视图fre-servlet.xml1234567891011121314151617181920212223<!-- 一定要放在viewResolver的前面,这样就先去找freemarker的 -->< 阅读全文
posted @ 2013-05-03 18:08 licomeback 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 摘要: FreeMarker模板包含及名称空间,主要是为了模板的重用。使用<#include>包含其他模板,如果包含多个模板,可能会出现同名变量被覆盖的问题。可以使用import来完成导入,并且加入名称空间FreeMarker模板包含及名称空间,主要是为了模板的重用。使用<#include>包含其他模板,如果包含多个模板,可能会出现同名变量被覆盖的问题。可以使用import来完成导入,并且加入名称空间模板11.ftl包含/inc/inc1.ftl和/inc/inc2.ftlinc1.ftl:<#assign username="张三">& 阅读全文
posted @ 2013-05-03 18:07 licomeback 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 2012-12-06 08:40:41|发布者:黄奕能|查看: 1005摘要: freemarker的变量可以分为四种,分别是数据模型的变量【root中的变量】,模板中的变量使用【<#assign>定义的变量】,局部变量【在指令中的变量】,循环变量【在循环中的变量】freemarker的变量可以分为四种,分别是数据模型的变量【root中的变量】,模板中的变量使用【<#assign>定义的变量】,局部变量【在指令中的变量】,循环变量【在循环中的变量】数据模型的变量【root中的变量】直接从模型中给模板传值的变量就是数据模型的变量,它把变量的值放在一个map中,在模板中直接 阅读全文
posted @ 2013-05-03 18:06 licomeback 阅读(1347) 评论(0) 推荐(0) 编辑
摘要: 摘要: FreeMarker自定义指令就像struts2的set标签,为了好理解,也可以认为是定义一个方法,就像js的function.在freemarker中的这个标签就是macro。在定义一个指令的时候,可以指定参数,当然也可以不指定,这里要注意了,我这里只贴出模板文件及输出结果,freemarker的工具类请参照FreeMarker入门教程,其实也没有什么改变,直接拿过来用即可FreeMarker自定义指令就像struts2的set标签,为了好理解,也可以认为是定义一个方法,就像js的function.在freemarker中的这个标签就是macro。在定义一个指令的时候,可以指定参数, 阅读全文
posted @ 2013-05-03 18:05 licomeback 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 摘要: 我们上一节认识了FreeMarker基本数据类型,接口认识FreeMarker集合(List、Map)​我们上一节认识了FreeMarker基本数据类型,接口认识FreeMarker集合(List、Map)序列(List)定义序列12345<#-- 定义序列 --><#assign mynums=[11,12,13,14,15,16,17,18,19]/><#list mynums as mn>${mn}</#list>拆分序列123456<#-- 拆分序列 --><#-- 这里是将mynums序列中下标从3到6之间的元 阅读全文
posted @ 2013-05-03 18:00 licomeback 阅读(394) 评论(0) 推荐(0) 编辑
摘要: FreeMarker基本数据类型2012-12-05 19:28:42|发布者:黄奕能|查看: 835摘要: ​Freemarker的基本数据类型【存储单值】有数字、字符串、boolean、日期。在这里直接用定义变量的方式来操作各种数据类型的输出。Freemarker的基本数据类型【存储单值】有数字、字符串、boolean、日期。在这里直接用定义变量的方式来操作各种数据类型的输出。数字【整型】定义一个数字,然后加10输出,结果是21<#--<>定义了一个数字--><#assign num=10>${num+11}21字符串定义一个字符串“10”,然后加11, 阅读全文
posted @ 2013-05-03 17:58 licomeback 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 摘要: 上一节我们接触了一个FreeMarker很简单的例子FreeMarker入门教程,说到底,就是替换模板里相应的标签,这一节我们写一下FreeMarker基本标签的使用上一节我们接触了一个FreeMarker很简单的例子FreeMarker入门教程,说到底,就是替换模板里相应的标签,这一节我们写一下FreeMarker基本标签的使用。在FreeMarker入门教程,相信你还刻模板里的“你好:${username}”,这是简单的输出字符串,和EL很像吧,这一节我们来学其他标签输出对象及判断标签的引用我们先定义一个用户类12345678910111213141516packagecom.na 阅读全文
posted @ 2013-05-03 17:55 licomeback 阅读(187) 评论(0) 推荐(0) 编辑
摘要: Java模板引擎 FreeMarker介绍摘要: FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写,FreeMarker被设计用来生成HTML Web页面(为了提高页面的访问速度,把页面静态化),特别是基于MVC模式的应用程序FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写,FreeMarker被设计用来生成HTML Web页面(为了提高页面的访问速度,把页面静态化),特别是基于MVC模式的应用程序FreeMarker的操作过程是这样的:定义模板文件,准备好数据,通过模板显示准备的数据(如下图):FreeMar 阅读全文
posted @ 2013-05-03 17:54 licomeback 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 忙了两天 补充一下姿势。这次讲Quartz中Job的参数传递和状态保存。先贴代码,还是两个类:任务定义: MyParaJob.javaJava代码//这两行注解。。。 极度坑爹,也是和2.0之前版本所不同的地方,务必注意 @NOTICE@PersistJobDataAfterExecution@DisallowConcurrentExecutionpublicclassMyParaJobimplementsJob { privateintmyCount =0; privatestaticintmyStaticCount =0; publicstaticfinalString JOB_DA... 阅读全文
posted @ 2013-05-03 17:10 licomeback 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 前面两个博客讲的都是简单触发器,直接传入一个时间让任务执行,这一话讲CronTrigger的例子。CronTrigger也是Quartz最重要的特色之一,通过Quartz特有的Cron表达式来确定某类时间,能完成类似"每个月二十号XXX,每个星期三XXX"之类的任务。先对MyJob做个小的修改,时间用中文来输出,不然看起来太费劲,逻辑上没有任何修改。Java代码publicclassMyJobimplementsJob { @Override publicvoidexecute(JobExecutionContext context)throwsJobExecutionEx 阅读全文
posted @ 2013-05-03 17:09 licomeback 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 本节补充一些SimpleTrigger的API使用,文章一次性写的太长会大大降低可阅读性,所以还是少食多餐吧。顺大便回顾一下Quartz的基本使用方法,联系windows自带的计划任务,假想场景如下:1.我要让电脑查杀病毒(对应Quartz: 实现Job接口的execute方法,后期通过反射实例化JobDetail对象)。2.我想让电脑在五分钟之后做查杀病毒这个job(对应Quartz:通过TriggerBuilder来new出一个时间为五分钟之后的Trigger)。3.把上面我想象到的时间:五分钟之后;任务:查杀病毒 放到windows的定时任务当中,点击确定(对应Quartz:通过Sche 阅读全文
posted @ 2013-05-03 17:08 licomeback 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 摘要: 前面用过Quartz的功能,学新工具一般都是先用再写再看源码。其实应用场景很容易想象,比如每个月20号要发工资,数据库里面某些字段要标记为已发,或者要进行记账之类的,那么这时候可以用quartz来写表达式,就可以让系统自动的在每个月20号执行这些任务。刚接触quartz这个词并不是在学习过程中。。。而是WOW里面的界面插件。。。 汗=。=言归正传,入门教程,不喜勿喷。网上看到一些定时任务使用Timer来解决,但是在多任务的情况下可能会造成延迟严重,并且Timer不提供实时保证。所以推荐使用Quartz这个定时任务的框架来完成此类功能。相关问题见:http://www.iteye.com 阅读全文
posted @ 2013-05-03 17:06 licomeback 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 在Java模板引擎 FreeMarker介绍中,我们已经对freemarker有了一定的了解,这一节是FreeMarker入门教程。 下载freemarker http://freemarker.sourceforge.net/freemarkerdownload.html 项目文件:freemarker-2.3.19.tar.gz 中文文档:FreeMarker_Manual_zh_CN.pdf 解压后把freemarker.jar加到classpath中即可完成环境的配置 定义模板文件 我们创建两个模板文件,一个是纯文本的模板文件,另一个是HTML格式的模板文件,主要是为了说... 阅读全文
posted @ 2013-05-03 16:42 licomeback 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 网上有好几种方法可以将将HTML文件转换成PDF文件但是有些对HTML文件格式要求比较严格,稍微错了一些就不能生成我们所要的PDF文件,这里我推荐一个PD4ML,它可以解决HTML文件格式不正确的问题,可以生成一个比较好的PDF文件,其处理速度快,而且对CSS文件兼容的非常好。下面是最基本的PD4ML编程:package samples;import java.awt.Insets;import java.io.File;import java.io.IOException;import java.net.MalformedURLException;import java.net.URL;im 阅读全文
posted @ 2013-05-03 13:51 licomeback 阅读(2909) 评论(0) 推荐(0) 编辑
摘要: 最近在工作中遇到了一个很囧的事情。要把HTML页面转换成PDF或者tiff图片等其他形式,目前tiff还是一头雾水,如果各位大师有真的可行的想法(不要是别人那边抄的,百度最近搜索的质量严重的打击了我对国货的信心。)希望能够告诉我,先谢了。言归正传。所以,我就做了把HTML转换成PDF的形式。目前可以完美支持一比一转换,下面就把我的解决方案贴出来。首先,当然是找到能够解析PDF的完美组件,百度和谷歌不约而同的告诉我们。IText是王道。而目前开源的组件中,Itext的确是一个First Choice,如果各位单纯是做把图片转成PDF或者自己写了Velocity或者FreeMarker模板生成了H 阅读全文
posted @ 2013-05-03 13:41 licomeback 阅读(23391) 评论(1) 推荐(0) 编辑