`

Struts2 urlrewrite 多个参数 outbound-rule

阅读更多

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&amp;intPage=$2</to>
 </rule> 

然后对于<outbound-rule><outbound-rule/> 标签的介绍几乎全都一提略过。

 其实该标签也就是上面规则的逆运算,将页面中符合outbound-rule 的url 转换成您自定义的 觉得美观的url,

 多次尝试发现,

<outbound-rule>
		<from>/app/ContentInfo.action\?contentId=([0-9]+)&amp;intPage=([0-9]+)</from>
        <to>/app/ContentInfo/$1_$2</to>
</outbound-rule>

 

 这里虽然将"&" 在XML中做了转义,但是 仍然无效,因为struts在服务端生成url时已将用于连接参数的“&”转义为“&amp;”了 所以在rewrite时他只是一个字符串了。所以上面的规则修改为

<outbound-rule>
		<from>/app/ContentInfo.action\?contentId=([0-9]+)(.*)intPage=([0-9]+)</from>
        <to>/app/ContentInfo/$1_$3</to>
</outbound-rule>

 
用(.*) 匹配“&amp;”  至此,struts下urlrewrite 重写服务端地址的多个参数传入问题顺利得到解决,

 

注:此处还有另外一个方法就是先重写一个无参的相同名称的url 然后在按规则匹配参数,也能解决,就是麻烦点。

 

 

 

分享到:
评论

相关推荐

    URLRewrite配置和使用

    这个规则表明,当我们使用response.encodeURL或c:url时,/rewrite-status将被重写成/test/status/。 使用outbound-rule可以解决我们在页面中显示链接的问题。例如,我们可以使用outbound-rule将链接重写成我们想要...

    Struts2下使用urlReWrite的最简实例(MyEclipse工程)

    `urlRewrite`是Tuckey开源组织提供的一个URL重写过滤器,它能够帮助我们在Struts2应用中实现这个目标。 在这个最简实例中,我们将探讨如何在MyEclipse环境中集成Struts2和urlRewrite,创建一个基本的应用来演示URL...

    URLrewrite_x86_zh-CN.rar

    除了基础的URL重定向,URL Rewrite模块还支持其他高级功能,如条件匹配、多规则组合、重写日志记录等。它还可以与ASP.NET的路由系统协同工作,为Web应用程序提供更复杂的URL处理能力。 总的来说,URL Rewrite模块是...

    urlrewrite-maven-example.zip

    URLRewrite 2.5.2是其较早的一个稳定版本,但随着时间的推移,开发团队已经推出了更新的2.6版本,新版本通常会包含更多的功能和改进,以适应不断变化的Web环境。如果你正在使用的是2.5.2,建议升级到最新的2.6版本,...

    URLRewrite配置和使用[借鉴].pdf

    配置URLRewrite主要涉及两个部分:`&lt;rule&gt;`和`&lt;outbound-rule&gt;`。 **`&lt;rule&gt;`** 规则用于定义请求URL到服务器内部资源的映射。例如: ```xml &lt;rule&gt; ^/page/(.*)$ &lt;to&gt;/page/$1.jsp &lt;/rule&gt; ``` 这里的`&lt;from&gt;`...

    urlrewrite3.04的demo

    本示例提供了一个基于Eclipse的工程,包含了`urlrewrite-3.0.4.jar`库,这使得开发者可以在Eclipse环境中快速搭建和调试URL重写功能。在Eclipse中,可以按照以下步骤操作: 1. 导入工程:将压缩包解压后导入Eclipse...

    使用urlrewrite重写struts2的action

    在这个场景中,我们将深入探讨如何使用`URL Rewrite Filter`来重写Struts2的Action。 首先,让我们理解`URL Rewrite Filter`的基本概念。这个工具提供了一种方式,通过配置XML文件(如`urlrewrite.xml`)来定义一...

    urlrewrite

    3. 条件判断:`&lt;condition&gt;`元素支持各种条件表达式,如请求方法(GET、POST等)、请求参数、请求头等,可以组合多个条件进行复杂判断。 四、URLRewrite的应用场景 1. SEO优化:通过将动态URL转换为静态化的形式,...

    urlrewrite地址重写实例配置说明

    **URLRewrite地址重写**是Web开发中一个重要的技术,它主要用于优化和管理网站的URL,使得URL更友好、更具可读性,同时也能够实现动态URL到静态URL的转换,提升SEO效果。URLRewrite通常与Apache的mod_rewrite或者在...

    UrlRewrite例子

    UrlRewrite是一个强大的URL重写工具,常用于Java Web应用中,尤其是与Struts2框架结合使用时,能够帮助开发者优化URL结构,提高网站的SEO友好性和用户体验。在这个"UrlRewrite例子"中,我们将深入探讨UrlRewrite的...

    urlrewrite-3.1.0.jar

    urlrewrite Jar包 urlrewrite-3.1.0.jar

    urlrewrite2伪静态与使用文档(IIS)

    urlrewrite2是微软IIS服务器的一个扩展,它是基于Apache的mod_rewrite模块而创建的,用于实现类似的功能。 在IIS服务器上,尤其是对于PHP开发环境,如PHPWAMP,有时需要同时运行不同版本的PHP以支持多个项目。...

    urlrewrite 完整实例,可直接运行。支持多个参数传递

    通过使用通配符和正则表达式,我们可以灵活地定义规则来匹配和处理包含多个参数的URL。例如,将`?param1=value1&param2=value2`形式的URL重写为`/path/value1/value2`。 四、`URLRewriteFilter`配置实例 1. 配置`...

    ssh2中的urlrewrite和Struts2的生成静态页面

    根据提供的信息,项目中使用的是版本为2.6.0的`urlrewrite`库,其路径为`WebRoot/WEB-INF/lib/urlrewrite-2.6.0.jar`。 - **配置文件`urlrewrite.xml`**:这是URLRewrite的核心配置文件,其中定义了URL重写的规则。...

    IIS%2bWordPress利用UrlRewrite实现永久链接-Permanent-Links-的完美方案

    在搭建基于Microsoft Internet Information Services (IIS) 和 WordPress 的网站时,经常面临的一个挑战是如何有效地实现URL重写(URL Rewrite),以达到美观且利于SEO优化的永久链接(Permanent Links)设置。...

    URLrewrite-实例

    `URLrewrite`是一个基于Java的开源过滤器,它实现了Apache的mod_rewrite功能,广泛应用于Spring、Struts、JSF等Java Web框架中。它提供了强大的规则配置,使得开发者能够灵活地对URL进行重写和重定向。 在使用`URL...

    struts2+spring3+hibernate4+urlrewrite

    本框架为struts2+spring3+hibernate4+urlrewrite(伪静态地址) Struts采用通配,web-inf下的urlrewrite.xml为伪静态配置文件,跳转到struts.xml进行对应

    urlrewrite伪静态 及多参数传递-附正则表达式语法

    标题中的“urlrewrite伪静态及多参数传递”指的是在Web开发中使用的一种技术,通过URL重写工具(如Apache的mod_rewrite或Tomcat的UrlRewriteFilter)将动态URL转换为静态化的、更友好的形式,同时实现多参数的传递。...

    IIS URL重写工具 rewrite-x86-zh-CN.msi

    IIS URL重写工具 rewrite_x86_zh-CN 用于修复网络全漏洞:检测到目标URL存在http host头攻击漏洞 防止未经授权的访问

    IIS Urlrewrite2

    1. **安装**:下载并安装IIS URL重写2的扩展,通常是`IIS Urlrewrite2.exe`文件,通过IIS Manager进行安装。 2. **添加规则**:在IIS Manager中选择目标站点,然后在“管理服务”下找到“URL重写”,点击“添加规则...

Global site tag (gtag.js) - Google Analytics