我到处寻找解决方案,但似乎该技术不再那么流行,所以似乎也没有任何答案。
我似乎面临着一项看似不可能的任务,即基于 User-Agent 提供不同的 Apache Velocity 模板(.vm 文件)。
遗留 Web 项目中出现的问题是需要以稍微不同的方式为移动用户提供服务。 velocity 的版本是 1.6.2,velocity-tools 的版本是 2.0。
除了我希望在呈现 Velocity 文件之前在服务器端进行 User-Agent 检查外,我在如何执行此操作方面有很大的自由度。
tl;dr
如何根据某些算法标准(即 User-Agent)呈现不同的 .vm 文件?
最佳答案
将用户代理添加到模板
String userAgent = request.getHeader("User-Agent");
mapForTemplate.put("userAgent", userAgent);
然后在模板中添加你的逻辑
#if ($userAgent == "....")
#include( "chrome.vm" )
#else
#include( "firefox.vm" )
#end
关于java - 基于 User-Agent 的 Change Velocity 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45550861/