肯尼亚的URL本地化

时间:2010-09-16 21:50:13

标签: sitemap apache-cocoon

我正在尝试本地化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类)

谢谢!

1 个答案:

答案 0 :(得分:0)

我能够通过RequestListener来完成这个。

在public void onRequestStart(环境环境)方法中,我使用新的真实URL创建RequestWrapper并将其放入objectModel。我还用一个真实的URL改变环境上下文:env.setContext(“”,realUrl,env.getContext())

这很好用!