CommonTemplate与JSP的互操作方案

昨天和[url=http://huangyh.iteye.com]huangyh[/url]讨论了CommonTemplate([url]http://www.commontemplate.org[/url])与JSP的互操作方案,
他觉得如果能在CommonTemplate中直接调用JSP,可以解决遗留系统的集成问题,
如:
在CommonTemplate中:
$jsp
直接写JSP代码,如:<c:if test="${aaa}">xxx</c:if>或者<%if(aaa){%>xxx<%}%>
$end
$include{jsp: "xxx.jsp"}
等等,
如果从头写JSP解析引擎会很耗时,
最好是利用各种开源服务器中已有的JSP引擎,如Tomcat里用的Jasper等,
将JSP相关内容传过去,让其返回结果。
但这些JSP引擎在脱离容器后,不一定能很好的运作,
而JSP是先生成Java,再编译成class,然后调用的,
调用起来可能很不方便,
为了方便切换JSP引擎,中间最好提取一个通用接口,
待看完Jasper, JXP等项目的源代码后再决定实现方案。

另外,
之前已经实现了在JSP中使用CommonTemplate,
如:
在JSP中:
<ctl:template>
直接写CommonTemplate模板,如:$if{?users}, $for{user : users} ...
</ctl:template>

再者,另一个方案:(借鉴于FreeMarker)
将JSP的第三方TagLIb适配成指令的功能,也已实现部分,
只要将相应的tld导入引擎,
就可以在CommonTemplate中使用:
$tag{attribute1="value1", attribute2="value2"}
...
$end
如:已有的displaytag,
$table{name="test", class="mars"}
...
$end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值