springmvc整合freemarker以及前端的一些坑
来源:互联网 发布:恒昌利通 知乎 编辑:程序博客网 时间:2024/06/08 17:11
一、SpringMVC整合freemarker配置
2、popover显示(信息太长,截取显示,鼠标悬停,显示悬浮框):点击打开链接
1、引入相关jar包:
2、添加freemarker配置bean和视图解析器
二、使用freemarker踩的一些坑
1、关于null值:freemarker对于null值得校验很严格,如果出现null值,而在页面中不进行判断,则会发生异常,通常情况下判断方式有两种:
(1)在页面中使用${prop??}进行判断,或使用${prop?""},若为空则显示“”
(2)可使用配置classic_compatible=true,此种方式只能判断一层,如user.prop为null,显示为空,若user为空,则仍会发生异常。目前的这种情况可使用第一种方式,或者手动创建一个空的对象,保证外层对象不为null即可。
2、freemaker遍历List:
<#list userlist as user></#list>
3、freemarker遍历Map:
<#list userMap?keys as userKey>
key:${userKey}
value:${userMap[userKey]}
</#if>
4、在freemarker页面中使用request对象:配置requestContextAttribute=request,即可使用request,如:
5、freemarker自定义拦截异常:
<#assign webroot=request.getContextPath()>
5、freemarker自定义拦截异常:
新建类:
FreeMarkerExceptionHandler
配置:template_exception_handler=xxxx.
FreeMarkerExceptionHandler
在web.xml中配置:
6、freemarker定义变量:<#assign name="xxx">,使用:${name}即可
7、freemarker引入其他页面:<#include "xx.ftl">
8、table的td内容自动换行:<td style="word-break:break-all">
9、p标签内容换行:<p style="word-wrap:break-word"></p>
10、实现格式化显示:定义时间显示格式:<#setting datetime_format="yyyy-MM-dd HH:mm:ss"/>
使用:${serviceInfo.createTime?number_to_datetime}
11、在使用jquery的datatable时,如果页面中存在注释,一定要特别注意,不能直接使用<!-- -->这样的注释,要用<#--<!-- 修改中,审核驳回 可修改 –>-->,否则注释内容无效,会被datable的搜索功能识别到。暂时还不清楚是谁的原因导致的。
11、在使用jquery的datatable时,如果页面中存在注释,一定要特别注意,不能直接使用<!-- -->这样的注释,要用<#--<!-- 修改中,审核驳回 可修改 –>-->,否则注释内容无效,会被datable的搜索功能识别到。暂时还不清楚是谁的原因导致的。
三、bootstrap的一些组件使用说明
1、datatable的使用:包括显示中文,搜索,排序,分页等:
2、popover显示(信息太长,截取显示,鼠标悬停,显示悬浮框):
data-content:为完整数据,使用<p>标签,加上
word-wrap:break-word
,保证正常换行,否则不会换行。3、列表中显示操作下拉菜单:
4、表格中,实现列中的内容超出宽度,自动隐藏配置:(可配合popver使用)
table:style="table-layout: fixed"td :style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"
四、第三方组件使用说明
1、alert对象框:使用sweetalert,网址:http://www.dglives.com/demo/sweetalert-master/example/
2、json格式化显示:参考1号店开放平台中的js实现
使用<pre>标签,添加brush:js样式即可。主要是json的换行以及着色。可参考网站:http://alexgorbatchev.com/SyntaxHighlighter/
JSON格式化参考doc.js,格式化后,调用SyntaxHighlighter.highlight();进行高亮显示。
3、js复制内容到粘贴板
(1) 方法一:使用zeroclipboard:http://zeroclipboard.org/ 该方法使用js+flash的方式实现,需要浏览器必须安装flash,否则无法使用,且会造成样式紊乱。
(2)方法二:使用clipboard:https://github.com/zenorocha/clipboard.js ,该方式使用js的方式实现,如果浏览器版本过低则不支持。
使用示例如下:
html页面内容:
js代码内容:
(1) 方法一:使用zeroclipboard:http://zeroclipboard.org/ 该方法使用js+flash的方式实现,需要浏览器必须安装flash,否则无法使用,且会造成样式紊乱。
(2)方法二:使用clipboard:https://github.com/zenorocha/clipboard.js ,该方式使用js的方式实现,如果浏览器版本过低则不支持。
使用示例如下:
html页面内容:
js代码内容:
五:其他
1、反爬虫协议:项目跟路径(webapp)下添加robots.txt文件,内容为:
User-agent: *
Disallow: /
2、防XSS攻击:
添加过滤器:XssFilter:
配置web.xml:
六、freemarker的一些其他使用方式 1、在freemarker中使用layout.extends、layout.put等标签,提高页面重用率,该功能为freemarker提供的自定义标签的实现,此时需要引入第三方jar包来实现。 (1)引入依赖:(公共css,js等信息已在default.ftl中引入,实际页面只需要引入自己特有的css,js即可)(2)引入配置文件,用于解析extends,block,put标签 (3)基础页面:default.ftl(构造页面结构,引入公共css,js,header,footer、menu等公共页面) (4)实际使用页面:index.ftl
2 0
- springmvc整合freemarker以及前端的一些坑
- springmvc整合freemarker以及前端的一些坑
- springmvc整合freemarker以及前端的一些坑
- freemarker与springMvc整合的坑
- springMVC整合freemarker的使用
- springMVC使用时的一些配置以及一些整合配置
- 关于spring+springMVC+myBatis的一些基础配置以及整合
- 关于spring+springMVC+myBatis的一些基础配置以及整合
- 关于spring+springMVC+myBatis的一些基础配置以及整合
- 关于spring+springMVC+myBatis的一些基础配置以及整合
- 关于spring+springMVC+myBatis的一些基础配置以及整合
- Mybatis-Spring-SpringMVC-freemarker-PageHelper的整合
- SpringMVC整合Freemarker遇到的问题
- FreeMarker与SpringMVC整合
- FreeMarker与SpringMVC整合
- FREEMARKER与SPRINGMVC整合
- freemarker与springmvc整合
- FreeMarker与SpringMVC整合
- PAT 乙级1001
- 设计模式之模板方法模式
- sdut离散题目14
- 每天一个小题目——完美数
- Java构造和解析Json数据的两种方法详解一
- springmvc整合freemarker以及前端的一些坑
- python标准库之fnmatch,dis,timeit
- [C++]union联合体总结
- K-means 之国足小例子
- 剑指offer第二题
- iOS学习笔记-069.手势识别03——抽屉控件实现
- web安全与防御---3.kali环境下sqlmap的注入
- Promotions Gym
- MSSql dbcc checkdb 出现错误处理