Java 如何配置url映射以在PrettyFaces/Rewrite中将所有*url请求获取到一个jsf页面 我可以配置PrettyFaces/Rewrite将所有传入的URL请求映射到一个页面吗 那么我如何从PrettyFaces/Rewrite获得域名后的完整URL路径?可能有一些注释或类似于{URLPATH}的注释

Java 如何配置url映射以在PrettyFaces/Rewrite中将所有*url请求获取到一个jsf页面 我可以配置PrettyFaces/Rewrite将所有传入的URL请求映射到一个页面吗 那么我如何从PrettyFaces/Rewrite获得域名后的完整URL路径?可能有一些注释或类似于{URLPATH}的注释,java,jsf,jakarta-ee,url-rewriting,prettyfaces,Java,Jsf,Jakarta Ee,Url Rewriting,Prettyfaces,我需要:来自所有请求,包括: "/../../../*......." or/and "/a/b/c/*/*/*/.." or/and "/{param}/**" or/and "/{param}/{param2}/{param3}/**/**" 映射到一个JSF页面 大概是这样的: <url-mapping id="pages"> <pattern value="/**" /> <view-id value="/pages.xhtml" /&g

我需要:来自所有请求,包括:

"/../../../*......." or/and "/a/b/c/*/*/*/.." or/and "/{param}/**" or/and "/{param}/{param2}/{param3}/**/**" 
映射到一个JSF页面

大概是这样的:

<url-mapping id="pages">
    <pattern value="/**" />
    <view-id value="/pages.xhtml" />
</url-mapping>


在Spring MVC中,我这样做的方式是“/”ªааааааааа/452454/45/4774/7744/longpath.html”:

@RequestMapping(值={”/**},方法=RequestMethod.GET)
public@ResponseBody字符串信息(HttpServletRequest请求){
String remainingPaths=(String)request.getAttribute(HandlerMapping.PATH\u在\u HANDLER\u MAPPING\u属性中);
返回“Good Work
”+剩余路径; }
关于产出,我有:

<H1>Good Work</H1><br/>/україна/452454/45/4774/7744/longpath.html
Good Work
/аааааа/452454/45/4774/7744/longpath.html
我怎样才能从PrettyFaces/重写中获得同样的效果?

我认为这是您正在寻找的解决方案。首先,您需要使用以下步骤从“PrettyFaces 3.x”升级到“重写配置PrettyFaces”:。这应该是一个替代品,不需要您进行额外配置

使用“Rewrite Config Prettyfaces”模块升级并验证应用程序是否正常工作后,您需要在新的重写配置提供程序中创建规则(按照重写主页上的步骤操作):

注:

^^确保在META-INF/服务中注册此配置提供程序(如说明中所述!)

我还在下一版本的Rewrite中介绍了这一点,这意味着您将能够使用连接注释,而不是仅为这一条规则创建配置提供程序(不过,我认为您会发现配置API很有用)

<H1>Good Work</H1><br/>/україна/452454/45/4774/7744/longpath.html
package com.example;
public class AllPagesToOneViewProvider extends HttpConfigurationProvider
{
   @Override
   public int priority()
   {
     return 0;
   }

   @Override
   public Configuration getConfiguration(final ServletContext context)
   {
     return ConfigurationBuilder.begin()
       .addRule(Join.path("/{all}").to("/pages.xhtml"))
       .where("all").matches(".*");
    }
}