freemarker改写成jsp自定义标签的问题

rayzhao 发布于 2013/05/17 13:17
阅读 1K+
收藏 0

将FreeMarker改写成jsp自定义标签,如何去写?

比如:        [@cms_channel_list]
        <dt class="menu_first"><a href="${base}/" target="_self" [#if !channel??]class="selected"[/#if]><span>首 页</span></a></dt>
        [#list tag_list as c]
        <dt><a href="${c.url}" target="_self" [#if channel??&&channel.id==c.id] class="selected" [/#if]><span>${c.name}</span></a></dt>
        [/#list]
        [/@cms_channel_list]

怎么入手?  研究了BodyTagSupport,不知道里面的内容该如何去交互。

加载中
0
不是小白
不是小白
你又来了。。。。你应该这样问:将 FreeMarker改写成 jsp,如何去写。。。
rayzhao
rayzhao
晕~~ 正面回答问题啊
0
不是小白
不是小白

好,回答问题:

1.将所有的FreeMarker文件都写一个jsp文件,并且引入jstl标签

2.对照着FreeMarker写jsp,并注意转换FreeMarker标签为jstl标签

3.我想说一句,如果FreeMarker文件多的话,你会想死的。。。

rayzhao
rayzhao
”并注意转换FreeMarker标签为jstl标签“,怎么转?就上面列的那个例子,给个具体方案。
0
不是小白
不是小白

你这个遍历可以这样写:

前提先引入jstl:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

然后:

<dt class="menu_first"><a href="${base}/" target="_self" [#if !channel??]class="selected"[/#if]><span>首 页</span></a></dt>
        [#list tag_list as c]
        <dt><a href="${c.url}" target="_self" [#if channel??&&channel.id==c.id] class="selected" [/#if]><span>${c.name}</span></a></dt>
        [/#list]

在其中,[#if !channel??]class="selected"[/#if]>可以这样写:

<c:if test="channel==null" >class="selected"</c:if>

 [#list tag_list as c]---- [/#list]中,这个循环可以这样写:

<c:foreach items="${tag_list}" var="list">----</c:foreach>


注:代码为手写,可能没有注意一些大小写什么之类的语法。。。



0
不是小白
不是小白
整体来说一般这些标签都有相应的jstl 的对应标签,替换一下就可以了
返回顶部
顶部