Freemarker与Struts2整合标签中不能使用escape="false"

    技术2022-05-20  54

          我在2011年05月24日的一篇文章(http://blog.csdn.net/liuyuhua0066/archive/2011/05/24/6443155.aspx)中提到Freemarker与Struts2整合标签中不能使用escape="false",原文中提到:

         

          使用<@s.property value="news.content" escape="false"/>时,页面会报argument type mismatch错。可是为什么不能用escape="false"?查找好多资料,都没有很好的解释。

     

          今天抽时间查了查,原因以及解释如下:

     

          Freemarker在引用struts2的的<s:property>时,是可以用escape="false"的,只不过引用的形式变了,不能是

          <@s.property value="news.content" escape="false"/>

          而应该是

          <@s.property value="news.content" escape=false/>

           因为:freemarker是将false作为其布尔型的一个值,而布尔型是不能加引号的,如果加了引号在模板解释的时候也就会出现argument type mismatch的错误了。

          Ok!OVER!


    最新回复(0)