我正在与JSF2和PrettyFaces合作创建一个“SEO友好的URL”。
现在,当我想在PrettyFaces创建一个新的url之后传递参数时,我面临一个问题,这些参数将被删除,我希望避免这种情况。
我会以一个例子来解释:
当前访问此url时:
m2=value2
在PrettyFaces之后,我得到了这个url:
http://www.mysite.com/
但我希望是这样,所以当点击这个网址时:
m2=value2
在PrettyFaces之后,我会得到这个url:
http://www.mysite.com/?param1=value1
--请注意:我只想传递特定的参数。从上面的例子来看,应该只传递param1。
我在“漂亮-config.xml”上的配置:
<url-mapping>
<pattern>/</pattern>
<view-id>/jsp/index.jsf</view-id>
</url-mapping>发布于 2013-08-19 14:23:56
实际上,我对查询字符串没有被保存感到惊讶。我想,除了前卫之外,还有别的事情正在发生。您使用的是什么版本的PRettyFaces?我还猜测这是PrettyFaces的一个问题,这是您正在使用的版本中的一个bug,但我认为这是不可能的。
您粘贴的url-mapping惟一应该做的事情是执行内部转发,从"/“到"/jsp/index.jsf”。它不会做任何客户端从"/index.jsf“到”/“的重定向;这就是为什么我认为这里还有别的东西在起作用。(参见参考代码:https://github.com/ocpsoft/rewrite/blob/master/config-prettyfaces/src/main/java/org/ocpsoft/rewrite/prettyfaces/UrlMappingRuleAdaptor.java#L213)
关于去掉某些查询参数和保留其他查询参数,我强烈建议查看重写框架(这是PrettyFaces的新核心),您可以使用它构建非常定制的重写规则:http://ocpsoft.org/prettyfaces/和http://ocpsoft.org/rewrite/。
我希望这能帮到你。
https://stackoverflow.com/questions/18269760
复制相似问题