问题标签 [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.
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。
谢谢。
jsf-2 - MyFaces 2.1 重定向导航案例
我只是从 Mojarra 切换到 Myfaces。大多不是太麻烦,但导航规则不像以前那样工作。我在导航案例中遇到重定向问题:
如下所示的任何命令链接导航都会导致 403 错误(拒绝访问):
在这种特殊情况下,浏览器尝试重定向到 test.xhtml(而不是 test.jsf)。web.xml 中的安全约束阻止了这一点。当然,如果您删除安全约束,您将提供原始 xhtml。
如果我删除重定向它工作得很好,但当然不会改变浏览器网址。
此外,我曾经能够对无效结果进行导航,例如:
但是,当发送 ajax 请求以动态显示列表(不调用 bean.save 方法)时,页面将被重定向。
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不是这样......更多信息可能会有所帮助:
- 虽然错误是专门针对 的
/mainPanel.jsf
,但这实际上是 xhtml 使用的组合<ui:include>
- 仅当我单击应用程序中的一个特定点时才会发生这种情况。作为点击结果运行的代码是:
Jquery
代码:
JSF 2
代码:
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 库。任何帮助,将不胜感激。
我在下面包含了一部分堆栈跟踪,以防它可能有帮助。
jsf - MyFaces 1.2 的应用程序错误:java.lang.IllegalStateException:没有为此应用程序配置工厂
对于我的应用程序,我使用的是Tomcat 6.0.x和Mojarra 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 ,这是最终版本:
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 的实例?谢谢!
jsf - 每次使用时在复合组件中获取相同的“componentType”实例
嗨有这个奇怪的问题,我正在使用Composite Component
我编写的一个,我从以前使用 CC 的支持 bean(componentType
bean)中获取值
我不知道如何比仅显示代码更好地描述这一点。我会尽量简明扼要地删掉多余的部分:这是Composite Component
定义:
CC bean 定义:
以及使用代码:
id 的文本controlMsg
显示正确的值,#{group.values}
而 id 组件内的控制输出inner_control_component
显示之前使用的值。
值第一次是正确的...
我猜这是使用 CC bean 的根本错误,否则可能是一个错误MyFaces 2.1
(我正在使用)
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 声明的示例。
java - 服务器重启后的JSF问题:找不到保存的视图状态
继续解决这个问题,我已经用 MyFaces 替换了Mojarra并升级了 JDK,当我在重新启动服务器后继续处理表单时,出现以下错误:
发生错误:
控制台:
堆栈跟踪:
还有我的 web.xml:
你没有遇到过这样的错误报告吗?
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
还有什么要补充的吗?