Code Bye

urlrewriter 问题

在 urlrewriter.xml 中有如下配置

<urlrewrite>
    <rule>
        <from>^/(\w+).html$</from>
        <to type="forward">$1.action</to>
    </rule>
    
    <rule>
        <from>^/(\w+)/(\w+)/(\w+)$</from>
        <to type="forward">/$1.action?userName=$2&amp;password=$3</to>
    </rule>
</urlrewrite>

在这里 如果在浏览器地址栏中输入http://localhost:8080/brook/userLogin.html
地址会映射到 http://localhost:8080/brook/userLogin.action,这是一个登录页面。
但现在不懂的问题是,我在登录页面中输入登录信息后,通过下面的表单提交

<form id="loginform" method="post" class="form-vertical"" action="doLogin.action">

此时浏览器显示地址为 http://localhost:8080/brook/doLogin.action
但我想把地址显示成 http://localhost:8080/brook/index.html

请问各位我该如何进行配置呢。

请各位给点思路
围观,顶一下
urlrewrite没用过。。。
看你配置的意思,能否考虑直接配置将doLogin.action的url 对应到 index.html
路过的给位请多指教,小弟谢了。

5分
因为你下面使用的是
<form id=”loginform” method=”post” class=”form-vertical”” action=”doLogin.action”>
这个来提交的,浏览器上的地址肯定就变成doLogin.action了撒,
要显示成http://localhost:8080/brook/index.html  那么你需要按照你之前的那个forward的方式来配置跳转方式才行。或者登陆之后重定向应该也是可以的

70分
参考这个
引用 6 楼 rui888 的回复:

参考这个

原来还能这样写
<outbound-rule>  
    <from>^/world.jsp?country=([a-z]+)&amp;city=([a-z]+)$</from>  
    <to>/world/$1/$2</to>  
</outbound-rule> 

谢谢您

用 伪静态,你是做资讯新闻或者电商类的吧。
没必要urlrewrite,你就是想提交的时候浏览器url不变是吧?
用ajax提交即可,浏览器里面页面的url会一直是当前页面
引用 8 楼 rui888 的回复:

用 伪静态,你是做资讯新闻或者电商类的吧。

嗯,电商类的


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明urlrewriter 问题