struts2 在页面结合其自身的标签, 使用urlrewrite 相当方便,鄙人也是初次使用。google一下 一搜一箩筐,基本都是a抄b b复制c c 粘贴a d收藏c,(再次吐槽那些只会ctrl+c and ctrl+v的XXX)完了都是只有
<rule>
<note>ContentInfo_contentId_page</note>
<from>^/app/ContentInfo/([0-9]+)_([0-9]+)</from>
<to>/app/ContentInfo.action?contentId=$1&intPage=$2</to>
</rule>
然后对于<outbound-rule><outbound-rule/> 标签的介绍几乎全都一提略过。
其实该标签也就是上面规则的逆运算,将页面中符合outbound-rule 的url 转换成您自定义的 觉得美观的url,
多次尝试发现,
<outbound-rule>
<from>/app/ContentInfo.action\?contentId=([0-9]+)&intPage=([0-9]+)</from>
<to>/app/ContentInfo/$1_$2</to>
</outbound-rule>
这里虽然将"&" 在XML中做了转义,但是 仍然无效,因为struts在服务端生成url时已将用于连接参数的“&”转义为“&”了 所以在rewrite时他只是一个字符串了。所以上面的规则修改为
<outbound-rule>
<from>/app/ContentInfo.action\?contentId=([0-9]+)(.*)intPage=([0-9]+)</from>
<to>/app/ContentInfo/$1_$3</to>
</outbound-rule>
用(.*) 匹配“&” 至此,struts下urlrewrite 重写服务端地址的多个参数传入问题顺利得到解决,
注:此处还有另外一个方法就是先重写一个无参的相同名称的url 然后在按规则匹配参数,也能解决,就是麻烦点。
分享到:
相关推荐
urlrewrite重写地址,Urlrewrite 2.5.2 现在有2.6版本的,自己去网上找吧
urlrewrite Jar包 urlrewrite-3.1.0.jar
微软官方找的RULrewrite!!!!!!!!!!!!! 百度的都失效了
IIS%2bWordPress利用UrlRewrite实现永久链接-Permanent-Links-的完美方案
本框架为struts2+spring3+hibernate4+urlrewrite(伪静态地址) Struts采用通配,web-inf下的urlrewrite.xml为伪静态配置文件,跳转到struts.xml进行对应
IIS URL重写工具 rewrite_x86_zh-CN 用于修复网络全漏洞:检测到目标URL存在http host头攻击漏洞 防止未经授权的访问
urlrewrite 没听说吗? 用于url美化的 不过好像大多数会考虑伪静态~~~~~! 这个demo是eclipse工程 包括全部包 实现静态模拟及传参
简单的说: <rule>是对进入服务器的url进行重置。 <outbound-rule>是对从服务器向页面输出的url进行重置。
urlrewrite 完整实例, URLREWRITE 实例 。支持多个参数传递。
ssh2中的urlrewrite和Struts2的生成静态页面
在网上找了很多都不合心意,就知道改了下源码,只改了org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.class 文件,如果担心安全的朋友,可以下载 4.0.3的jar 替换UrlRewriteFilter.class即可。 confPath 默认 ...
mod_rewrite-cheat-sheet-v2.pdf
NULL 博文链接:https://stride.iteye.com/blog/723324
现在对urlrewrite-3.2的源码进行了修改,使它能够支持多文件和通配符的形式加载自定义配置文件,即可以进行如下的配置: <param-name>confPath</param-name> <param-value>/WEB-INF/urlrewrite/urlrewrite.xml /...
url rewrite 时,中文参数解决方法:用到的解码函数
java urlrewrite demo
mct-rewrite-css-url-paths 概述 这个 mimosa-combine 转换包将重写图像的相对 url 路径,以解决 mimosa-combine 可以破坏相对路径的事实。 有关 mimosa-combine 转换的信息,请查看 mimosa 。 安装 从 Mimosa 项目...
什么是UrlRewrite UrlRewrite 是 将动态页面转换为静态页面的一种技术 例如 您网站页面是 http: www yourdomain com news docread aspx id 123 为什么使用UrlRewrite: 1 处理这样的情形:你要更改你的web应用...
URL Rewrite是微软针对IIS推出的一种对URL进行重写的扩展模块,目前支持用于IIS7及以上版本。该模块使IIS管理员能够创建强大的自定义规则,语法支持正则规则以及通配符规则过滤。它能够根据HTTP头和IIS服务器变量...
NULL 博文链接:https://namas.iteye.com/blog/1130854