URL将requestURI重写为NVP

时间:2013-12-06 02:07:32

标签: regex jsp url-rewriting nvp

我正在尝试在/WEB-INF/urlrewrite.xml中编写一个通用规则,该规则将接受任意URI并将根标识符后面的标识符附加为名称值对。

例如:

localhost:8084/URLRewrite/Fruits/Yellow/Banana/banana.jsp

成为

localhost:8084/URLRewrite/Fruits/Yellow/Banana/banana.jsp&key0=Fruits&key1=Yellow&key2=Banana

我知道这将涉及正则表达式以及参数歧义。

类似的东西就像:

<rule>
    <from>^/world/([a-z]+)/([a-z]+)$</from>
    <to>/world.jsp?country=$1&amp;city=$2</to>
</rule>

示例:

输入:

  <a href="/world/usa/nyc">nyc</a>

输出:

  <a href="<%= response.encodeURL("/world.jsp?country=usa&amp;city=nyc") %>">nyc</a>

非常感谢任何帮助或建议。

1 个答案:

答案 0 :(得分:0)

试试这个:

<rule>
    <from>^/world/([a-z]+)/([a-z]+)$</from>
    <to type="redirect">/world.jsp?country=$1&amp;city=$2</to>
</rule>

您的配置文件中可能缺少值type的属性redirect