java - 如何配置 url 映射以获取对 PrettyFaces/Rewrite 中的一个 jsf 页面的所有 * url 请求

标签 java jsf jakarta-ee url-rewriting prettyfaces

  1. 我可以配置 PrettyFaces/Rewrite 将所有传入 URL 请求映射到一个页面吗?
  2. 那么我如何从 PrettyFaces/Rewrite 获取域名后的完整 URL 路径?也许有一些注释或类似的{URLPATH}? Looks like this, but maybe have another solutions on this moment

我需要:来自所有请求:

"/../../../*......." 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(value = {"/**"},method=RequestMethod.GET)
public @ResponseBody String info(HttpServletRequest request) {
    String remainingPaths = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
    return "<H1>Good Work</H1><br/>" + remainingPaths;
}

关于输出,我有:

<H1>Good Work</H1><br/>/україна/452454/45/4774/7744/longpath.html

如何从 PrettyFaces/Rewrite 获得相同的效果?

最佳答案

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

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

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(".*");
    }
}

注意:

^^ Make sure to register this Configuration Provider in your META-INF/services (as described in the instructions!)

我也 added an issue to support the super-wildcard character在下一版本的 Rewrite 中,这意味着您将能够使用连接注释,而不必只为这一规则创建配置提供程序(但是,我认为您会发现配置 API 很有用。)

关于java - 如何配置 url 映射以获取对 PrettyFaces/Rewrite 中的一个 jsf 页面的所有 * url 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17137227/

相关文章:

java - Primefaces 树表 : Deleting node using p:ajax not work

java - Gson解析没有键值对的字符串

java - Maven 强制插件缺少或无效规则

javascript - JSF Primefaces 单选按钮显示/隐藏/启用文本区域

java - WELD-000119 : Not generating any bean definitions from because of underlying class loading error

jakarta-ee - JPA 多对多 transient 集合

java - 无法从 Websphere 8.5 服务器中的 web-inf 文件夹加载属性文件

3 层应用程序的 Java 和 J2EE 代码示例

java - Spring AsyncResttemplate HTTPs (SSL) 服务调用

java - 正常字段没有类型为 java.lang.String 的合格 bean 异常