`
maria3905
  • 浏览: 22770 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

freemarker的html转义

    博客分类:
  • web
 
阅读更多

 

 1.freemarker标签使用过程中,有一种情况,若是一个值中包含有html样式,在页面显示的时候直接${datail}显示的是错误的,



 

这样肯定是不正确的,有的人说加上?html,这种写法获得的结果是下图,直接把样式都显示出来了:



 

后来想了一种方法,采用正则表达式替换的方式,吧html标签都取消了,主要是采用freemarker的replace

函数,使用正则表达式,去除html标签,${datail?replace("<[^>]*>","","ri")},他的意思参考:

这样就能获取正确格式:若是遇到多层的函数,则优先转化,eg${(datail?replace("<[^>]*>","","ri"))[0..100]}

先转化再截取字符串



 

  1. 替换字符串 replace  
  2. ${s?replace(‘ba’, ‘XY’ )}  
  3. ${s?replace(‘ba’, ‘XY’ , ‘规则参数’)}将s里的所有的ba替换成xy 规则参数包含: i r m s c f 具体含义如下:  
  4. · i: 大小写不区分.  
  5. · f: 只替换第一个出现被替换字符串的字符串  
  6. · r:  XY是正则表达式  
  7. · m: Multi-line mode for regular expressions. In multi-line mode the expressions ^ and $ match just after or just before, respectively, a line terminator or the end of the string. By default these expressions only match at the beginning and the end of the entire string.  
  8. · s: Enables dotall mode for regular expressions (same as Perl singe-line mode). In dotall mode, the expression . matches any character, including a line terminator. By default this expression does not match line terminators.  
  9. · c: Permits whitespace and comments in regular expressions. 
    另外补充一点:
    ([^>]*)([^<]*)这个通配符可以找到<和<符号间的字符串。
    <([^>]*)([^<]*)>这个通配符可以找到<和>符号间的字符串,作用可能是过滤网页上的html代码,包括图片和链接,仅留下纯文本的内容。

 

  • 大小: 27.2 KB
  • 大小: 15.9 KB
  • 大小: 6.2 KB
分享到:
评论

相关推荐

    实用方便freemarker.jar freemarker架包 freemarker生成excel、word、html、xml例子

    FreeMarker会自动处理转义字符,确保生成的XML文档符合规范。 4. FreeMarker生成Word和Excel: 对于生成Word(.doc或.docx)和Excel(.xls或.xlsx)文档,FreeMarker不能直接操作,因为它们不是纯文本格式。通常,...

    Velocity 和 FreeMarker区别

    - **FreeMarker**内置了多种转义功能,比如HTML转义、XML转义等,可以通过简单的指令实现。 - **Velocity**在这方面的支持较弱,需要开发者自己实现或依赖外部库。 6. **字符处理**: - **FreeMarker**支持更...

    FreeMarker手册-Freemarker 2.3.18

    html`用于转义HTML特殊字符,`?replace`进行字符串替换,`?upper_case`和`?lower_case`进行大小写转换。此外,还有算术操作符(+、-、*、/、%)、比较操作符(==、!=、&lt;、&gt;、、&gt;=)和逻辑操作符(&&、||、!)。 6. ...

    Freemarker操作字符串

    url`等转换器,可以将字符串转义为安全的HTML或URL。例如: ```html &lt;#assign unsafeStr = "&lt;script&gt;alert('XSS');&lt;/script&gt;"&gt; ${unsafeStr?html}&lt;/p&gt; ``` 输出:"&lt;script&gt;alert(&#39;XSS&#39;);&lt;/...

    Freemarker简介及标签详解大全

    6. 为 Web 准备:在模板语言中内建处理典型 Web 相关任务(如 HTML 转义)的结构。 7. 智能的国际化和本地化:字符集智能化(内部使用 UNICODE),数字格式本地化敏感,日期和时间格式本地化敏感等。 8. 强大的 XML ...

    FreeMarker概述2008

    4. **为Web准备**:内建处理Web相关的任务,如HTML转义,支持集成到Model2 Web框架中,替代JSP。同时,它支持JSP标记库,遵循MVC模式,分离视觉设计和应用程序逻辑。 5. **智能的国际化和本地化**:FreeMarker支持...

    freemarker中文手册

    1. 模板:Freemarker模板是HTML或者其他格式的文本文件,其中包含了Freemarker特定的指令和表达式,用来插入、控制或计算数据。 2. 数据模型:这是提供给Freemarker模板的数据源,通常由应用程序创建并传递给...

    freemarker操作手册-完整freemarker教程

    - `#autoesc`:自动转义HTML特殊字符,防止XSS攻击。 - `#function`:定义函数,类似于宏,但支持参数。 5. **表达式和逻辑运算** - 字符串连接:使用`~`符号连接字符串。 - 数学运算:支持加减乘除、取余、...

    FreeMarker文档.CHM

    7. **预处理与后处理**:开发者可以通过自定义处理器对模板进行预处理(如添加全局变量)和后处理(如HTML转义)。 8. **模板继承**:使用`&lt;#assign&gt;`和`&lt;#macro&gt;`,可以创建可重用的模板片段和宏,实现模板的模块...

    freemarker概述

    - **内建Web功能**: 内置了处理Web相关任务的结构,如HTML转义等。 - **集成框架**: 可以集成到Model2 Web应用框架中作为JSP的替代方案。 - **支持JSP标记库**: 允许在模板中使用JSP标签。 - **国际化和本地化**...

    freemarker中文文档与包

    html`用于转义HTML特殊字符,`?upper_case`将字符串转化为大写,`&lt;#list&gt;`用于遍历集合等,这些功能极大地丰富了模板的表达能力。 6. **自定义指令与宏**: 开发者可以创建自定义指令来扩展Freemarker的功能,例如...

    FreeMarker手册.pdf

    html`用于转义HTML实体,`?length`用于获取集合的长度。此外,还可以在模板中调用对象的方法,如`${list.sort()}`。 7. **模板继承与导入**:FreeMarker支持模板继承,通过`&lt;#include&gt;`和`&lt;#macro&gt;`指令,可以实现...

    FreeMarker.pdf

    对于Web应用,FreeMarker内置了处理Web相关任务的功能,如HTML转义,并且可以与Model2框架(如Struts)无缝集成,作为JSP的替代。同时,它支持JSP标记库,便于MVC模式的实现,确保页面设计师和程序员的工作分离。 ...

    freemarker代码

    5. 转义:`&lt;@...&gt;`用于调用Freemarker内置的函数或宏,例如`&lt;@include&gt;`用于包含其他模板。 三、Freemarker与Spring MVC集成 在Java Web开发中,通常结合Spring MVC框架使用Freemarker。Spring MVC提供了一种方便的...

    freemarker中文学习资料

    Freemarker是一个强大的模板引擎,常用于Web开发中生成动态HTML页面。它是Java语言的一个开源项目,遵循Apache软件基金会的Apache License。这个“freemarker中文学习资料”压缩包提供了详尽的网页版API文档,对于想...

    freemarker中文手册.pdf

    - **输出转换**:内置多种输出转换功能,如HTML转义、内容压缩等,还可以自定义转换规则。 ##### 3. 通用数据模型 - **对象封装**:通过插件式对象封装机制,使得Java对象能够在模板中以统一的方式呈现。 - **抽象...

    FreeMarker的基础知识整理

    - **文本插值**:在HTML文本中,FreeMarker会自动转义特殊字符。可以通过`&lt;#escape&gt;`和`&lt;#noescape&gt;`控制转义行为。 - **数字插值**:可以使用`number_format`设置格式,或者使用`string`函数自定义格式。 - **日期/...

    freemarker 教程 使用手册

    4. 静态文本和HTML转义:`@ftlvar`用于指定变量类型,防止XSS攻击;`&lt;@html&gt;`标记用于安全输出HTML。 五、最佳实践与注意事项 1. 模板设计:保持模板简洁,避免过于复杂的业务逻辑。 2. 错误处理:合理配置错误...

    FreeMarker内置函数

    - `no_esc`: 禁止FreeMarker对字符串进行转义。 7. **自定义函数** 除了内置函数,FreeMarker还支持通过`&lt;#function&gt;`标签创建自定义函数,以便扩展其功能。 了解并熟练使用这些内置函数,能够显著提升在...

    struts2中使用freeMarker

    html`(转义HTML特殊字符)、`?replace`(字符串替换)等,以及`&lt;#list&gt;`、`&lt;#nested&gt;`等指令,增强了模板的功能。 7. **模板继承和导入**: - FreeMarker支持模板继承,通过`&lt;#import&gt;`和`&lt;@macro&gt;`,可以创建可...

Global site tag (gtag.js) - Google Analytics