我想创建一个自定义模板引擎,例如 velocity 或 freemarker ,它将用于基于struts 2的应用程序。为什么我不想使用任何可用的模板引擎是因为,我想通过dreamweaver保持HMTL固定和可编辑意味着没有struts标签或JSTL。将使用Xpath或现有HTML标记的值的简单字符串替换来注入值。我要求:
纯HTML +一些配置(properties / xml)+ data =>
HTML填充了数据+一些动态生成的javascripts
答案 0 :(得分:2)
1)定义一个包,其中包含结果类型的名称以及当操作返回该结果类型时将调用的类。
<package name="default" namespace="/" extends="struts-default">
<result-types>
<result-type name="myResultType" class="com.awesome.MyResult"/>
</result-types>
.... actions and other things...
</package>
2)实现Struts 2结果类型类:
package com.awesome;
public class MyResult extends StrutsResultSupport{
//1) read the the target file
//2) process/transform the target file
//3) write out the transformed file as the result
}
Dave Newton在“Apache Struts 2 Web应用程序开发”中对此进行了很好的描述。我知道上面的课程没有实现,但我打赌你可以从这里找到你需要的东西。