标签: omnifaces

在不使用GET参数的情况下在@ViewScoped bean之间传递对象

我有一个browse.xhtml浏览列表的地方cars,我想在details.xhtml按下"查看更多"按钮时查看汽车的详细信息.他们的支持豆分别@ViewScoped被称为BrowseBeanDetailsBean.

现在,我不希望用户/客户端在URL中看到汽车ID,因此我想避免使用GET参数,如此此处所示.

有没有办法实现这个目标?我正在使用Mojarra 2.2.8和PrimeFaces 5以及OmniFaces 1.8.1.

jsf parameter-passing omnifaces view-scope jsf-2.2

16
推荐指数
1
解决办法
2万
查看次数

java.lang.AbstractMethodError:org.apache.xerces.dom.ElementImpl.getTextContent()Ljava/lang/String

我正在使用Omnifaces 1.3 + Primefaces 3.4.1 + Jboss 7.1.1 Final但我只是无法通过ajax请求来重定向FullAjaxExceptionHandler我配置的异常web.xml.什么都没发生,只是另一个例外:

19:38:05,467 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/taxMileage].[Faces Servlet]] (http--0.0.0.0-8181-4) Servlet.service() for servlet Faces Servlet threw exception: java.lang.AbstractMethodError: org.apache.xerces.dom.ElementImpl.getTextContent()Ljava/lang/String;
    at org.omnifaces.config.WebXml.parseErrorPageLocations(WebXml.java:216) [omnifaces-1.3.jar:1.3]
    at org.omnifaces.config.WebXml.<init>(WebXml.java:84) [omnifaces-1.3.jar:1.3]
    at org.omnifaces.config.WebXml.<clinit>(WebXml.java:53) [omnifaces-1.3.jar:1.3]
    at org.omnifaces.exceptionhandler.FullAjaxExceptionHandler.handleAjaxException(FullAjaxExceptionHandler.java:162) [omnifaces-1.3.jar:1.3]
    at org.omnifaces.exceptionhandler.FullAjaxExceptionHandler.handle(FullAjaxExceptionHandler.java:145) [omnifaces-1.3.jar:1.3]
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119) [jsf-impl-2.1.7-jbossorg-2.jar:]
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) [jsf-impl-2.1.7-jbossorg-2.jar:]
Run Code Online (Sandbox Code Playgroud)

有人可以给我一个关于此的提示吗?我被卡住了.如果我在没有ajax的情况下调用相同的错误,则会正确地重定向异常.

我的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0"
>
    <display-name>taxMileage</display-name>
    <welcome-file-list>
        <welcome-file>/pages/protected/user/dashboard.xhtml</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>InitializeApplication</servlet-name>
        <servlet-class>com.taxMileage.server.util.InitializeApplication</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <context-param> …
Run Code Online (Sandbox Code Playgroud)

java ajax jsf jboss omnifaces

9
推荐指数
1
解决办法
2万
查看次数

将JSF托管bean迁移到CDI托管bean

我打算将Web应用程序从使用JSF托管bean转换为使用CDI托管bean.我知道我需要在下面做:

  1. 在WEB-INF中添加一个空的beans.xml文件.
  2. 将所有JSF @ManagedBean替换为CDI @Named注释.
  3. 用CDI或OmniFaces范围注释替换所有JSF范围注释.
  4. 用CDI @Inject注释替换所有JSF @ManagedProperty.

是这一切都需要做吗?我需要注意哪些问题?

migration cdi jsf-2 managed-bean omnifaces

9
推荐指数
1
解决办法
1506
查看次数

为什么在使用primefaces时使用omnifaces?

我需要知道使用OmniFaces的好处与我目前使用的PrimeFaces相比.OmniFaces提供的PrimeFaces没有哪些功能?

jsf primefaces omnifaces

8
推荐指数
1
解决办法
5293
查看次数

警告:来自public void org.omnifaces.cdi.eager.EagerBeansRepository.setXxx的List <Bean <?>>类型的参数1无法解析为具体类型

我正在使用Omnifaces 1.8.1,每当我将我的应用程序部署到Glassfish时,我都会收到以下警告,这会导致部署过程出现延迟.

Warning:   WELD-001519 An InjectionTarget implementation is created for an abstract class org.omnifaces.eventlistener.DefaultHttpSessionListener. It will not be possible to produce instances of this type!
Warning:   WELD-001519 An InjectionTarget implementation is created for an abstract class org.omnifaces.eventlistener.DefaultServletContextListener. It will not be possible to produce instances of this type!
Warning:   WELD-001519 An InjectionTarget implementation is created for an abstract class org.omnifaces.eventlistener.DefaultServletRequestListener. It will not be possible to produce instances of this type!
Warning:   WELD-001519 An InjectionTarget implementation is created for an …
Run Code Online (Sandbox Code Playgroud)

jsf glassfish cdi omnifaces weld

8
推荐指数
1
解决办法
2872
查看次数

Tomcat上的Spring Security/JSF/Hibernate意外会话劫持?

前几天发生了一件非常奇怪和令人尴尬的事情,我没有言语来形容发生的事情.

我的应用程序在Tomcat 7上运行与JSF 2.1,Hibernate 4,Spring Security集成的Spring 3.我通过电话与C级别的重要人员同时在同一页面上同时处于测试环境中.当他的页面出现我的个人帐户详细信息时,他开始导航到我正在浏览的页面.我不相信他,所以我走到他的办公室,果然,他不知何故登录了我的帐户,他没有密码.

该应用程序将保护患者的健康信息,因此我被命令向C级提供已发生事件的完整报告,但我无法确定这是如何实现的.我搜索了代码库,没有得到什么.我试图在多个场合重现确切的场景,但从未能够重现它.我甚至没有一个受过教育的猜测,我很满意.

我想也许在Tomcat应用程序上下文实现中存储的会话上可能存在一些不安全的线程操作,但如果它不可重现,我无法证明这一点.我还认为,由于Spring Security在其他请求和转发之前作为过滤器运行,可能其中一个servlet过滤器受到干扰.另外两个是我最近添加的Primefaces文件上传过滤器和Omnifaces SEO过滤器.

Omnifaces过滤器实际上干扰了Primefaces文件上传过滤器,我不得不修改它的配置,所以它们中的两个会很好地相互配合,所以我仍然觉得这也许是可能的.

Spring Security是否存在导致类似问题的已知错误?Tomcat是否存在与ApplicationContext意外服务错误会话状态有关的已知问题?是否有其他人遇到过类似的问题或对此有一些独特的见解?

编辑:发布后不久我发现了这个,仅在几天前发布:

会话混淆 - apache httpd与mod_jk,tomcat,spring security - 提供其他用户的数据

这几乎与我在Tomcat面前拥有Apache httpd + mod_jk插件的设置完全一样,所以我肯定不是疯了:)

更新:

我能够在没有mod_jk或Apache的情况下在我的开发环境中重现这个问题,所以我可以可靠地将其排除在外作为罪魁祸首.

tomcat hibernate spring-security session-hijacking omnifaces

6
推荐指数
1
解决办法
1550
查看次数

沉默FullAjaxExceptionHandler

所以在面对可怕的事情后javax.faces.application.ViewExpiredException,我不得不环顾互联网寻找合适的解决方案.幸运的是,解决方案随时可用,我继续采用OmniFaces FullAjaxExceptionHandler.

足够说,就像OmniFaces的几乎所有东西一样,它创造了奇迹.但是,每当我有一个视图到期时,我会得到:

SEVERE: WebModule[/myModule]FullAjaxExceptionHandler: An exception occurred during processing JSF ajax request. Error page '/WEB-INF/errorpages/test.xhtml' will be shown.
javax.faces.application.ViewExpiredException: viewId:/my/page.xhtml - View /my/page.xhtml could not be restored.
...
Run Code Online (Sandbox Code Playgroud)

这很好,因为它是按预期处理的,但无论如何要将这个异常打印到server.log?这会快速占用日志.

我正在运行:
Mojarra 2.1.23
PrimeFaces 4.0-SNAPSHOT
OmniFaces 1.6-SNAPSHOT-2013-07-01


Glassfish 3.1.2.2上

glassfish jsf-2 omnifaces

6
推荐指数
1
解决办法
693
查看次数

使用JSF消息包覆盖Omnifaces验证消息?

是否可以使用jsf消息包覆盖默认的omnifaces验证消息?

我的消息包:

javax.faces.converter.DateTimeConverter.DATE={2}: ''{0}'' could not be understood as a date.
javax.faces.converter.DateTimeConverter.DATE_detail=Invalid date format.
javax.faces.validator.LengthValidator.MINIMUM=Minimum length of ''{0}'' is required.

org.omnifaces.component.validator.ValidateUnique=1. my validateUnique omnifaces msg, {0}
org.omnifaces.component.validator.ValidateUnique.DEFAULT_MESSAGE=2. my validateUnique omnifaces msg, {0}
Run Code Online (Sandbox Code Playgroud)

我知道有一个'消息'属性,但将所有消息放在一个地方会很好.

提前谢谢了

validation jsf message-bundle omnifaces

6
推荐指数
1
解决办法
444
查看次数

使用arquillian + omnifaces运行测试时的java.util.ServiceConfigurationError

我收到以下错误

"java.util.ServiceConfigurationError:javax.servlet.ServletContainerInitializer:Provider org.omnifaces.ApplicationInitializer not found"

在运行Arquillian测试时.

我已经把最基本的测试用例放在这里:https://www.dropbox.com/s/kou5v8kqs5g4g4m/test.zip?dl = 0

java jsf jboss-arquillian omnifaces

6
推荐指数
1
解决办法
894
查看次数

如何将OmniFaces与Spring Boot集成

我找到了一些关于将JSF技术与Spring Boot集成的教程,但是让OmniFaces使用Spring Boot似乎是一项相当复杂的工作.将这两者结合在一起是一个好主意吗?

integration jsf omnifaces spring-boot

6
推荐指数
1
解决办法
1799
查看次数