在线编辑器与JSF和EL表达式,阻止自动转义

这两天在做一个JEE的实验,要求使用JSF,尽管之前我也是JEE规范的推崇者,

但是见识过了Java世界里其他的模板引擎以及nodejs的威力之后,不得不说,JSF还是不够成熟、需要发展(用ui:和c:组合嵌套form、command时各种问题)。


言归正传,今天要说的是在线编辑器与JSF:

在线编辑器都不会陌生,像当下很火的kindeditor、ckeditor等等,实在很多。

录入编辑器内容到数据库里并不难,要么转lob录入,要么直接录入长串,但是怎么在显示回来,却会在JSF的世界里碰到问题。

在JSF的世界里,EL表达式的值在默认情况下是转义的(<变lt;>变gt;等等),或者说当我们直接使用

#{xxxx}

在页面显示数据的时候,效果和

<h:outputText value="#{xxxx}"/>
是一致的。

而显示回来编辑器录入的html就需要没有被转义的html(另一个退而求其次的方案就是放进textarea里然后初始化一个只读的编辑器)。

折腾了一阵子,发现解决方案很简单,示例代码如下:

<!-- 显示区域 -->
<div>
    <!-- 显示内容 -->
    <h:outputText value="#{xxxx}" escape="false"/>
</div>

设置一下escape属性就大功告成了。

积累点点滴滴,才能江河湖海,分享出来给还在为这个小问题头疼的小伙伴们

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值