2

我使用漂亮的面孔来重写我的网址,我使用 com.ocpsoft.pretty.faces.rewrite.Processor; 我注意到这个过滤器在加载 URL 时多次调用它,所以当我访问我的数据库以加载一些数据时,这是非常低效的。

我想要的是将处理器放在 applicationScope 中,这样它就不会染色并且可供所有用户使用,这样我就不必创建多次我的服务 bean。

有什么建议么 ?

4

2 回答 2

1

将为每个请求创建一次自定义处理器 - https://github.com/ocpsoft/prettyfaces/blob/3.x/core/src/main/java/com/ocpsoft/pretty/faces/rewrite/processor/CustomClassProcessor .java

如果您需要能够进行这种集成,特别是如果您希望配置元素与您的应用程序一样长,那么我可能会问您想用它做什么,因为 PrettyFaces 处理器,虽然它可以用于此,不是很灵活,而...

OCPsoft Rewrite - URLRewriteFilter(PrettyFaces 4 的核心)能够将 CDI 集成到您的配置中,并为您提供比以前使用 PrettyFaces 的处理器更多的功能,同时仍然使事情变得更简单......例如:您可能想要使用CDI 集成来确定您的配置范围,或注入数据库访问类。

https://github.com/ocpsoft/rewrite/tree/master/integration-cdi

今天,使用 Rewrite(或发布时的 PrettyFaces4),您将拥有更多控制权。

于 2012-04-01T05:53:19.580 回答
1

不确定它是否适用于Processor,但您可以尝试禁用development模式:

<context-param>
  <param-name>com.ocpsoft.pretty.DEVELOPMENT</param-name>
  <param-value>false</param-value>
</context-param>

有关详细信息,请参阅此线程

于 2012-03-31T15:17:17.883 回答