我正在尝试本地化Lenya发布网址。 我将URL翻译存储在Document元数据中,并使用URLRewriter transformator重写URL。
e.g。我建立 / Lenya的/默认/制作/ EN /家 从 /lenya/default/authoring/index.html
但是我找不到一种简单的方法来强制Lenya将传入的请求URI转换回原始路径:/lenya/default/authoring/index.html
我真的想通过管道使用原始网址处理请求,而不是翻译。
有可能吗?我曾尝试添加servlet过滤器并使用调度程序,但过滤器无法访问文档元数据,因为环境对象在此阶段尚未处理堆栈...
(此刻我只看到一种方式 - 更新CocoonServlet和Cocoon类)
谢谢!
答案 0 :(得分:0)
我能够通过RequestListener来完成这个。
在public void onRequestStart(环境环境)方法中,我使用新的真实URL创建RequestWrapper并将其放入objectModel。我还用一个真实的URL改变环境上下文:env.setContext(“”,realUrl,env.getContext())
这很好用!