spring mvc项目中利用freemarker生成自定义标签
2019独角兽企业重金招聘Python工程师标准>>>
spring mvc项目中利用freemarker生成自定义标签 博客分类: java
spring mvc +freemarker的项目中,我们想要在html页面上利用自定义标签,来方便完成我们的一些功能,除了在页面上定义标签外,我们还可以利用程序来定义。
首先要写一个类UpperDirective.Java来实现TemplateDirectiveModel接口,
代码如下:
[java] view plain copy
public class UpperDirective implements TemplateDirectiveModel { @Override public void execute(Environment env, Map map, TemplateModel[] templateModels, TemplateDirectiveBody body) throws TemplateException, IOException { if(!map.isEmpty()){ throw new TemplateModelException("this directive doesn't allow parameters"); } if(templateModels.length!=0){ throw new TemplateModelException("this directive doesn't allow variables"); } if(body!=null){ body.render(new UpperCaseFilterWriter(env.getOut())); }else{ throw new RuntimeException("missing body"); } } }
class UpperCaseFilterWriter extends Writer{ private final Writer out; public UpperCaseFilterWriter(Writer out) { this.out=out; } @Override public void write(char[] cbuf, int off, int len) throws IOException { char[] transformedCbuf = new char[len]; for(int i=0;i<len;i++){ transformedCbuf[i]=Character.toUpperCase(cbuf[i+off]); } out.write(transformedCbuf); } @Override public void flush() throws IOException { out.flush(); } @Override public void close() throws IOException { out.close(); } }
然后在配置文件中进行配置:
[html] view plain copy
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath"> <value>/ftl/</value> </property> <property name="freemarkerSettings"> <props> <prop key="locale">zh_CN</prop> <prop key="defaultEncoding">UTF-8</prop> <prop key="date_format">yyyy-MM-dd</prop> <prop key="time_format">HH:mm:ss</prop> <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop> <prop key="number_format">0.################</prop> </props> </property> <property name="freemarkerVariables"> <map> <entry key="upper" value-ref="upperDirective"></entry> </map> </property> </bean> <bean id="upperDirective" class="com.nbsh.cms.util.UpperDirective"></bean> 在页面上输出的标签:<@upper>hh</@upper> 就能输出大写的:HH了。
http://blog.csdn.net/uk8692/article/details/38176263
转载于:https://my.oschina.net/xiaominmin/blog/1598302
spring mvc项目中利用freemarker生成自定义标签相关推荐
- Java项目中利用Freemarker模板引擎导出--生成Word文档
应邀写的一篇文章:Java项目中利用Freemarker模板引擎导出--生成Word文档 资源下载:https://download.csdn.net/download/weixin_41367523 ...
- Java Web项目中使用Freemarker生成Word文档
Web项目中生成Word文档的操作屡见不鲜,基于Java的解决方案也是很多的,包括使用Jacob.Apache POI.Java2Word.iText等各种方式,其实在从Office 2003开始,就 ...
- Java项目中使用Freemarker生成Word文档
Web项目中生成Word文档的操作屡见不鲜,基于Java的解决方案也是很多的,包括使用Jacob.Apache POI.Java2Word.iText等各种方式,其实在从Office 2003开始,就 ...
- java web 操作word文档_Java Web项目中使用Freemarker生成Word文档
Web项目中生成Word文档的操作屡见不鲜.基于Java的解决方式也是非常多的,包含使用Jacob.Apache POI.Java2Word.iText等各种方式,事实上在从Office 2003開始 ...
- 如何在Spring和Spring MVC项目中进行测试
Spring框架概述 Spring大约包含了20个模块,这些模块组成了核心容器(Core Container).数据访问/集成(Data Access/Integration).Web.AOP(面向切 ...
- spring MVC项目中,欢迎页首页根路径
参考:http://iammr.7.blog.163.com/blog/static/49102699201222643458216 0. 问题: 如何改mvc中项目的欢迎页,或者叫做根路径 一个东西 ...
- java中利用freemarker生成样式比较复杂的word
这两天接到一个需求,要在系统中生成word版的需求规格说明书,领导给了个之前的样本给我,要求挺高,必须和给的样本基本一样. 基本样式主要有多级标题.动态图片.页眉页脚等,如下(内容部分因为隐私就不贴出 ...
- wps制作pdf模板,Adobe Acrobat DC利用pdf模板做填充数据表单域,在maven项目中利用java生成pdf
如做pdf建议http://www.xdocin.com/index.html 以下方法仅供参考 首先制作一个pdf模板: 1.先用word做出模板界面 2.文件另存为pdf格式文件 3.通过Adob ...
- 在spring MVC项目中集成Spring session redis (使用spring session框架,redis作为存储缓存)...
2019独角兽企业重金招聘Python工程师标准>>> 1.为项目增加以来 pom.xml中使用 <!-- spring session 单点登录 --> //本项目使 ...
最新文章
- LeetCode Regular Expression Matching(.和*通配符匹配)
- 设计模式 -结构型模式_门面模式(外观模式) Facade Pattern 在开源软件中的应用
- Matlab:成功解决Expression or statements is incorrect--possibly unbalanced (,{,[.
- 笔记-信息系统开发基础-CMMI过程域分类-连续式的模型
- 如何从 0 到 1 打造团队 PC/H5 构建工具
- Git 图形化操作之合并提交记录
- 作为微软技术.net 3.5的三大核心技术之一的WCF虽然没有WPF美丽的外观
- 无废话ExtJs 入门教程十[单选组:RadioGroup、复选组:CheckBoxGroup]
- es6 Generator.prototype.throw()方法
- python flask 分页前后端分离_【flask + vue 前后端分离博客】创建第一个 Flask RESTFul(一)...
- 第一章python绝对温标身体质量指数bmi
- flex mx:TabNavigator进行选项卡切换,需要进行交互时。发生Error #1009错误
- Windows 系统必备软件
- ipa在线下载安装(itms-services)
- 综述:根际微生物组提高植物耐盐性的研究进展
- 怎么用计算机计算方位角,坐标方位角连续计算 fx-5800计算器编程
- TensorFlow Serving Architecture
- 笔记本安装系统不认硬盘?
- Context [] startup failed due to previous errors 的解决方式
- 4. 【gRPC系列学习】Resolver原理详解
热门文章
- 连续低频脑电图解码手臂运动,实现机械手臂的闭环自然控制
- eeglab中文教程系列(5)-提取数据epoch
- seaborn系列 (13) | 点图pointplot()
- 苹果5年来盈利首次未超预期,但大中华区营收暴增83%
- AI也会查水表啦!德国小哥开发水表读取器,可OTA升级,成本不到80元
- NASA科学家联名求撤稿:金星有生命迹象是大乌龙,12阶多项式拟合不靠谱
- 清华类脑计算成果再登Nature:张悠慧施路平团队出品,有望打破冯诺依曼瓶颈...
- 踏入职场后,差距来自哪里
- 【Thinkphp 5】 整合邮箱类 phpmailer实现邮件发送
- 编译安装 redis 2.2.14