1、以struts2为主。struts2内置了对velocity的支持,只要在<result name="success"?type="velocity">success.vm</result>即可自动解析velocity的模板文件。
问题:直接访问vm文件时,输出的是vm的源代码。如何禁止对*.vm类型文件的直接访问?
好处:可使用类似struts标签。我总感觉这样使用怪怪的。
2、以velocity为主。在web.xml中配置velocity的servlet及*.vm的映射
好处:很方便的使用velocity tools2.0(需要增加几个jar类库)
由于不想使用struts标签,无论1和2,客户端无法生成与服务器端验证相同的javascript代码,ValidatorTool仅适用于struts1.1,这两年都没有更新。
解决方案:使用jquery或mootools的form验证集合,自写部分代码。涉及AJAX时,也同样需要手写,集成方案过于复杂,看来还是不能省
以上所述,个人认为以方案2为最佳,直接将*.vm映射掉,简单省事。无需使用struts标签库。
刚刚想到的问题:能否将vm自动生成html文件以便使用apache直接输出,二次访问无需再经过程序?
vm是高效的缓存的模板技术,其输出性能已经比jsp高。静态化的目的是使用apache等web服务器,以减轻tomcat等应用服务器的压力
静态化的用处不大,若访问量大,则增加硬件服务区的吞吐量和使用squid服务器端缓存(这也是静态化),还是从架构方面解决问题
时间: 2024-12-16 06:13:24