问题标签 [myfaces]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1746 浏览

java - Apache MyFaces 特立尼达:动态a里面的标签

我有一个简单的要求:我的列数<tr:table/>是动态的。我将有一个对象列表,someBean.features它将确定渲染的列数。

下图应该阐明我的要求。

具有动态列的表

在给我的代码中,使用了 JSTL<c:forEach/>标记,这在 JSF 环境中使用时显然会产生问题。他们做了这样的事情:

但是当我分析上面的代码时,作为上面标签someBean.getValues输入的方法<tr:table/>被调用了数千次而不是大约 20 次。这 - 正如我所想的那样 - 是因为<c:forEach/>标签是一个编译时标签,其中<tr:*/>渲染时间标签也是如此。

所以,这就是我打算做的(替换<c:forEach/><tr:iterator/>

但是,出于某种原因,<tr:iterator/>它似乎不喜欢被放置在 a 中<tr:table/>并且它永远不会被执行。

任何解决方案、提示、指南将不胜感激。

哦,我们正在使用带有 MyFaces Trinidad 1.0.13 实现的 JSF 1.1。

谢谢。

0 投票
1 回答
876 浏览

jsf-2 - MyFaces 2.1 重定向导航案例

我只是从 Mojarra 切换到 Myfaces。大多不是太麻烦,但导航规则不像以前那样工作。我在导航案例中遇到重定向问题:

如下所示的任何命令链接导航都会导致 403 错误(拒绝访问):

在这种特殊情况下,浏览器尝试重定向到 test.xhtml(而不是 test.jsf)。web.xml 中的安全约束阻止了这一点。当然,如果您删除安全约束,您将提供原始 xhtml。

如果我删除重定向它工作得很好,但当然不会改变浏览器网址。

此外,我曾经能够对无效结果进行导航,例如:

但是,当发送 ajax 请求以动态显示列表(不调用 bean.save 方法)时,页面将被重定向。

0 投票
2 回答
2352 浏览

session - JSF 2 会话 Bean 问题

我有一个使用多个会话 Bean 运行的 JSF 2.1 (MyFaces) 应用程序(所有 bean 都是会话 bean)。超时在 web.xml 中定义如下:

转换为 1 小时。

问题是在正常使用中我得到了No Saved View...异常:

bean 目前在 faces-config.xml 中定义,以便与 Eclipse 的 ide 兼容。

我不确定是什么原因造成的,而且绝对不会超时。任何想法可能是什么问题?

如果我可以提供任何进一步的信息,请告诉我..

谢谢!

PS - 没有jsf-2.1标签

更新 1我只是想 60 意味着 1 分钟!:-) 这可能是问题所在。如果结果是这样,我会结束这个问题

更新 2不是这样......更多信息可能会有所帮助:

  1. 虽然错误是专门针对 的/mainPanel.jsf,但这实际上是 xhtml 使用的组合<ui:include>
  2. 仅当我单击应用程序中的一个特定点时才会发生这种情况。作为点击结果运行的代码是:

Jquery代码:

JSF 2代码:

0 投票
2 回答
2275 浏览

ejb-3.0 - 如何使用 JBoss 6 将 EJB3 会话 bean 注入另一个会话 bean

我正在尝试将我未参与的项目从 JBoss 4 迁移到 JBoss 6。该项目由 EJB 3 后端和 MyFaces 1.1.4 前端组成。我在 JBoss 6 jsf 部署器中包含了 MyFaces 1.1.4 库。

我通过辅助类从前端调用后端函数。

在那次调用之后,我在会话 bean PatientModule 中的后端 canCreatePatVisit 函数中得到一个 NullPointerException。

我调试了项目,发现 em、admContr 和 confContr 都是空的。所以我想在另一个会话 bean 中注入一个会话 bean 是有问题的,但我不知道是什么。

我已在前端将 web.xml 版本更改为 2.5,并且我正在使用 JBoss 6 库。任何帮助,将不胜感激。

我在下面包含了一部分堆栈跟踪,以防它可能有帮助。

0 投票
1 回答
24356 浏览

jsf - MyFaces 1.2 的应用程序错误:java.lang.IllegalStateException:没有为此应用程序配置工厂

对于我的应用程序,我使用的是Tomcat 6.0.xMojarra 1.2_04 JSF 实现。它工作正常,只是我现在想切换到JSF 的MyFaces 1.2_10 impl。

在部署我的应用程序期间,出现以下错误:

这是我的 web.xml 配置的一部分:

有没有人遇到过类似的错误,我应该怎么做才能修复它?谢谢!

编辑:

我能够解决这个问题。由于我使用的是FacesServlet的委托人,事实证明这个委托人导致了问题。我需要做的就是让这个类实现DelegatedFacesServlet,并且我已经删除了org.apache.myfaces.webapp.StartupServletContextListener。这是我的 web.xml 现在:

这是FacesServletDelegator

编辑 2

根据BalusC的建议,我稍微编辑了我的web.xml ,这是最终版本:

0 投票
3 回答
1361 浏览

java - 使用 Servlet 2.4 访问 JSF2.1 中的另一个托管 Bean

我们最近从 JSF 1.2 升级到了 2.1。我们在具有 Servlet 2.4 的 WebSphere 6.1 上运行

我们正在使用以下库:myfaces 2.1.1 el-api-2.2

现在我们唯一的问题是我们无法像以前那样访问其他支持 Bean:

这将始终返回 null。我们也尝试过:

它也返回 null 。

我们已经尝试过 @ManagedProperty 注释,但这显然是 Servlet 2.5 的特性。ELContext 现在是否有可能默认使用 DI?有没有办法在 JSF2.1 和 Servlet 2.4 中获取另一个支持 Bean 的实例?谢谢!

0 投票
2 回答
3950 浏览

jsf - 每次使用时在复合组件中获取相同的“componentType”实例

嗨有这个奇怪的问题,我正在使用Composite Component我编写的一个,我从以前使用 CC 的支持 bean(componentTypebean)中获取值

我不知道如何比仅显示代码更好地描述这一点。我会尽量简明扼要地删掉多余的部分:这是Composite Component定义:

CC bean 定义:

以及使用代码:

id 的文本controlMsg显示正确的值,#{group.values}而 id 组件内的控制输出inner_control_component显示之前使用的值。

值第一次是正确的...

我猜这是使用 CC bean 的根本错误,否则可能是一个错误MyFaces 2.1(我正在使用)

0 投票
2 回答
2953 浏览

jsf-2 - 使用 MyFaces Orchestra 时,在导航到不同的视图时,对话.access bean 不会被删除

我们正在使用 JSF 2、Spring 和 Hibernate 构建一个应用程序。MyFaces Orchestra 用于提供我们在应用程序中的大多数页面使用的会话范围(以利用 Orchestra 对 Hibernate 会话的管理)。我们所有的 bean 都被声明为使用 conversation.access 范围,这(根据 Orchestra 文档)应该意味着一旦用户导航到不包含对该支持 bean 实例的任何引用的页面,bean 就会从范围中删除.

我遇到的问题是,如果我从一个视图导航一条路而没有明确地使对话无效,如果他们稍后回到该视图,它仍然具有与以前相同的数据。我在所有支持 bean 中实现了 ConversationBindingListener 方法,我可以看到它们何时从对话中删除,并且我可以看到它们在很多情况下都不是。

使问题更令人困惑的是,当我导航到某些页面(视图)而不是其他页面时,支持 bean 被删除。我想这可能是因为页面无意中引用了 EL 中的其他支持 bean,但我找不到任何内容。我还认为,这个问题可能只发生在我从一个具有 conversation.access 范围 bean 的页面导航到使用不同的 conversation.scoped bean 的另一个页面时。但是,在从会话中删除它的情况下,该页面还包含对 conversation.access 范围 bean 的引用。

正如我之前所说,使用 Conversation.getCurrentInstance().invalidate() 显式地使对话无效是有效的。但是,不可能对每个用例都显式地使对话无效,因为这将是一个非常常见的用例,因为用户只需单击其中一个导航链接即可离开视图。

附加细节:我们使用的是 Hibernate 3.6(而不是 JPA),这意味着我们必须使用HibernatePersistenceContextFactory

  • MyFaces Orchestra (myfaces-orchestra-core20-1.4.jar)
  • JSF 2 (Mojarra 2.0.4)
  • 春天 3.0
  • PrimeFaces 2.2.1
  • RichFaces 4.0.0

这是我的 Spring 上下文配置的样子(对于 Orchestra)。

下面是几个 JSF 支持 bean 声明的示例。


0 投票
5 回答
18590 浏览

java - 服务器重启后的JSF问题:找不到保存的视图状态

继续解决这个问题,我已经用 MyFaces 替换了Mojarra升级了 JDK,当我在重新启动服务器后继续处理表单时,出现以下错误:

发生错误:

控制台

堆栈跟踪:

还有我的 web.xml:

你没有遇到过这样的错误报告吗?

0 投票
2 回答
4295 浏览

performance - jsf应用性能提升小技巧

如何提高基于 jsf myfaces 的应用程序的性能?

目前收集到的一些tips

特立尼达

  • 在 web.xml 中将以下初始化参数设置为 false
    • org.apache.myfaces.trinidad.DEBUG_JAVASCRIPT
    • org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION
    • org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION
  • 使用客户端状态保存
  • 不使用时清除页面流上下文映射

我的脸

  • 在 web.xml 中将以下初始化参数设置为 false
    • org.apache.myfaces.COMPRESS_STATE_IN_SESSION
    • org.apache.myfaces.SERIALIZE_STATE_IN_SESSION
    • org.apache.myfaces.PRETTY_HTML
    • org.apache.myfaces.VALIDATE
  • 从 init 参数中减少 org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION 的值(默认为 20)

小面

  • 在 web.xml 中将以下初始化参数设置为 false
    • facelets.开发
    • facelets.SKIP_COMMENTS
  • 将 facelets.BUFFER_SIZE 和 com.sun.faces.responseBufferSize 设置为较大的值,例如 10000000
  • 将 facelets.REFRESH_PERIOD 设置为 -1

还有什么要补充的吗?