问题标签 [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 回答
3262 浏览

java - 不同浏览器窗口中的 JSF 会话问题

我们有一个基于 JSF 2.0(MyFaces) 构建并在 Weblogic 应用服务器上运行的应用程序。我们正面临一个关于 http Session 的问题。

问题:假设我在两个不同的 IE 窗口中打开了应用程序,并在第一个窗口中提供了一些搜索输入。在第一个窗口中接收到的搜索结果数据正在第二个窗口的会话中共享。

注意:。bean 的session范围javax.faces.STATE_SAVING_METHODserver. static不存在共享变量的问题。

知道为什么会发生这种情况,以及防止这种情况发生的解决方案(如果有的话)?

问候,沙吉。

0 投票
1 回答
1300 浏览

java - JSF 在长时间运行的过程中保持会话活动

我们的 JSF(MyFaces 实现)WebApp 中有一个长期运行的流程。在这个长时间运行的过程中需要有一个活动的会话。经常关注各种组件是否会保持会议的活力?(即,单击背景、鼠标悬停选项卡/链接等)。我在这方面取得了成功,但不明白为什么会这样。这是由于底层实现中的某种 javascript/ajax 功能造成的吗?谢谢。

0 投票
2 回答
10162 浏览

jsf - 将操作方法​​名称作为参数传递给 facelets 组件

我正在调用模板并传入如下参数:

在 ProductEdit.xhtml 中,我有类似的东西

效果很好。

我现在想参数化 ProductEdit.xhtml 中的 #{productEditAction} ,所以我做了以下

在第一页,然后在 ProductEdit.xhtml 我做

这会因以下错误而失败

但是,如果操作绑定到模型对象,则此方法有效。所以像

有任何想法吗?

0 投票
1 回答
1723 浏览

jsf-2 - Apache MyFaces CODI PageBean:“参数 bean 不能为空”

我目前正在尝试使用 Apache MyFaces CODI。我设法使用@Page 和一个返回类的操作方法创建了一个简单的工作类型安全导航。

但是,当我使用例如 MyPageBean.class 添加@PageBean-Annotation 时,当我尝试导航到页面时会引发以下异常:

我的页面代码是:

和我的页面豆:

Facelets页面调用的Action-Method:

pageBean-Class (MyPageBean) 是否需要有特定的注解或接口?我已经尝试过使用@Model,但这并没有改变任何东西。

我的配置:

  • Jave EE6 with Weld(使用焊接原型创建)
  • Glassfish 3.1 社区版(Netbeans 7 附带的版本)
  • JSF2.0 (Mojarra 2.1)
  • EJB 3.1
  • MyFaces CODI 0.9.4
  • RichFaces 4.0.0.Final

感谢您的任何建议!

最好的问候,罗伯特

0 投票
2 回答
6247 浏览

jquery - 如何在 JSF 之前执行 jQuery click() 事件或者执行动作?

尝试将单击确认与 jQuery 绑定(以清理 JSF 页面中的代码)我了解 MyFaces 编写的 onclick 内联函数 (oamSubmitForm();) 在 jQuery click() 事件之前执行。之前可以做jQuery点击吗?

0 投票
1 回答
679 浏览

java - 如何在 JSF 中同步来自同一用户的两个请求?

基本上,我的问题是,如果用户单击一个按钮,并等待页面响应,然后单击另一个按钮,则似乎存在竞争条件。

如何避免第一个按钮的代码使用与第二个按钮的代码相同的变量?

我怀疑这两个请求都会以某种随机顺序调用相同的 getter 和 setter,因为每个按钮单击都将处于 JSF 模型的不同阶段。

这是一个例子。假设用户点击一个按钮,动作函数改变了一些变量。该变量通过 getter 和 setter 链接到实际的 jsf 标记。现在假设动作函数完成了 50%。现在用户点击了相同的按钮。JSf 将调用链接到同一个变量的 getter 和 setter,恢复状态或其他。基本上,该变量被重置为操作更改之前的状态。现在第一次点击的动作函数继续运行,它再次改变了变量。即使没有第二个动作调用,它也是一个竞争条件。

0 投票
1 回答
370 浏览

facelets - 如何使 myfaces-impl 在文件更改时刷新?

Facelets servlet有一个 init-param facelets.REFRESH_PERIOD。但是,将其设置为特定值是没有意义的。当它太小时,比如 10 秒,缓存将超时太快。当它不是那么小时,比如说 5 分钟,那么当对 xhtml 文件进行小的更改时,我必须经常重新启动 Web 服务器。10 到 300 秒之间的值可能更好,但绝不是最好的。

我正在使用 Apache myfaces-impl,我对 Sun JSF RI 不太了解。(Sun JSF RI 在我们的项目中不起作用)所以,我不知道这个问题是否特定于 Apache Myfaces?

好吧,与其指定REFRESH_PERIOD,我可以让 myfaces-impl 刷新那些已更改的文件吗?

(我想也许 myfaces-impl 没有得到文件最后修改时间,因为它将文件解析为 URL,并且 URL 没有最后修改时间属性,是吗?或者我应该修补myfaces-impl 我自己?)

0 投票
2 回答
870 浏览

java - 消除“今天是" MyFaces Tomahawk 的弹出 inputCalendar 中的字符串

有谁知道我是否可以删除显示在 MyFaces Tomahawk 的弹出 inputCalendar 底部的字符串“Today is”?

请参阅以下屏幕截图:

http://myfaces.apache.org/tomahawk-project/tomahawk12/images/calendar_popup.png

我根本不想显示字符串“Today is Fri, 8 Jul 2005”。这可能吗?

谢谢。

0 投票
2 回答
3340 浏览

java - 从 JSF 1.2 迁移到 JSF 2.0 后,每次导航都出现 ViewExpiredException

我正在尝试将现有的 JSF 应用程序从 JSF 1.2 迁移到 JSF 2.0。我使用的是 MyFaces 1.2.8 并想使用 MyFaces 2.0.5。

我在使用 MyFaces 2.0.5 时遇到的是最初请求的页面将正确呈现,但任何导航到另一个页面的尝试都会导致ViewExpiredException. 消息是:

找不到视图标识符的已保存视图状态:/SomePageName.jsf(其中“SomePageName”是我要离开的页面的名称)

如果我手动键入要导航到的页面的 Faces 友好 URL,例如http://localhost:8080/MYAPP/SomeOtherPage.jsf,那么其他页面将正确呈现。该应用程序还识别出我已经有一个会话并且不会尝试创建一个新会话。

我的应用程序完全由 JSP 文件组成,正如您对 JSF 1.2 应用程序所期望的那样。我的意图是首先让应用程序在 JSF 2.0 中运行,然后将每个页面一次重写为一个 Facelet。

我的一些导航规则如下所示:

有些看起来像这样:

(我意识到 REFRESH 结果不是做事的最佳方式,但这已经在旧的 1.2 应用程序中,我不打算在开始迁移工作之前将其删除)

谁能告诉我我可能做错了什么会导致导航像这样爆炸?

0 投票
1 回答
604 浏览

ajax - jsf - a4j 动作触发,但在页面渲染逻辑触发之后

将richfaces 3.1.5 与myfaces/jsf 一起使用,并注意当我调用a4j 操作时,在它执行之前,它所在的整个facelet 正在重新渲染——我正在远程调试,当我单击a4j 链接时,我首先看到了我的phaseListener被调用(这是有道理的),但随后我也看到了我的 bean getter 中的所有逻辑,这些逻辑在包含 a4j 操作链接的 facelet 中触发,然后最终执行操作,然后重新渲染。一些 getter 中的逻辑很昂贵,所以我不希望它们被不必要地调用 - 我只想要动作点击 -> 调用动作 -> 重新渲染区域,而不是这个动作循环循环 -> 重新渲染整个页面 ->调用动作 -> 重新渲染现在正在发生的区域。

不知道这是否重要,但我的 a4j 操作没有映射到 actionListener,而只是一个调用返回 null 的 String 方法的操作。谢谢你的帮助。