Url rewriting Seam 2.2.0 URL重写不起作用
我正在尝试一个简单的URL重写示例,但它对我不起作用。我正在使用部署到JBoss 5.1.0的Seam 2.2.0 My pages.xml包含:Url rewriting Seam 2.2.0 URL重写不起作用,url-rewriting,seam,Url Rewriting,Seam,我正在尝试一个简单的URL重写示例,但它对我不起作用。我正在使用部署到JBoss 5.1.0的Seam 2.2.0 My pages.xml包含: <page view-id="/html/index.xhtml"> <rewrite pattern="/home" /> </page> <web:rewrite-filter view-mapping="*.seam"/> 及 ... My components.x
<page view-id="/html/index.xhtml">
<rewrite pattern="/home" />
</page>
<web:rewrite-filter view-mapping="*.seam"/>
及
...
My components.xml包含:
<page view-id="/html/index.xhtml">
<rewrite pattern="/home" />
</page>
<web:rewrite-filter view-mapping="*.seam"/>
据我从文档中所知,这应该是我所需要的全部。但是,所有的内部链接看起来都不一样,如果输入URL:或mysite/link?param=什么,我只会得到一个404页面。我遗漏了什么?当我试图从Tuckey重写过滤器移动到Seam时,我遇到了同样的问题。经过一些尝试和错误之后,我终于注意到我的视图有一个page.xml,但在main pages.xml中添加了该模式。前者似乎覆盖了后者。来自seam文档:
“视图映射参数必须与web.xml文件中为Faces Servlet定义的Servlet映射相匹配。如果省略,重写筛选器将采用模式*.seam。”我不知道您的方法为什么不起作用。但是不要忘记,您可以使用
viewName.page.xml
文件来实现同样的目的。例如,由于页面名称为
index.xhtml
,因此必须在包含index.xhtml
文件的同一文件夹中创建index.page.xml
文件(在您的情况下,在html
文件夹中)在
index.page.xml
文件中添加此项
<rewrite pattern="/home" />
再次部署,它应该会工作。感谢您的回复,尽管三年后,我甚至无法访问该项目来测试您的理论。IIRC,我确实解决了这个问题,这是由于我的XML文件在构建过程中被覆盖造成的。我记得这里有一个答案为我指明了正确的方向,我接受了。现在两个都不见了,我不知道这是怎么发生的。