先申明, 这个实践非常不好, 只有在某些时间确实需要这玩意的时候才使用.
原理很简单, 使用HTML的注释<!--内容-->
因为JSP的注释是<%--内容--%>, freemarker的注释是<#--内容-->, 而JSP/freemarker的标签在<!--内容-->中时, 是可以被正常解析的, 而不支持的标签则会原样输出.
<!--
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<#assign surekam=JspTaglibs["/WEB-INF/part.tld"]>
<#assign test='Freemarker'/>
<c:set var="test" value= "jsp"/>
-->
${test}
这里的test在JSP中将会输出JSP, 而freemarker中将会输出freemarker, 但是, 上面JSP中会留下
<!--
<#assign surekam=JspTaglibs["/WEB-INF/part.tld"]>
<#assign test='Freemarker'/>
-->
在freemarker中会留下
<!--
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<c:set var="test" value= "jsp"/>
-->
所以, 这不是一个好的实践.
来源:oschina
链接:https://my.oschina.net/u/103453/blog/146665