问题标签 [view-scope]

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 投票
1 回答
993 浏览

jsf - jsf 中的 viewscope 不支持 Ajax

我是 jsf 的新手。我在使用 ajax 和 viewscope bean 时遇到了麻烦。

这是我的代码:

索引.xhtml:

Bean2.java

该页面显示有 2 个输入框和一个命令按钮“测试”。当我在第一个输入框中输入值并单击测试时,没有任何反应(也没有错误)。

但是当我将 bean 设置为 Sessionscoped 时,它可以正常工作。

请指导我完成这个。

0 投票
1 回答
810 浏览

jsf - 应用程序范围 bean 的设置器无法设置值

我正在使用带有表单的 Primefaces 制作页面,该表单具有 ajax 上传图像并在提交整个表单之前预览它的能力。

为了实现这一点,我在主窗体之外制作了对话框:

在主窗体内有p:graphicImage显示刚刚上传的图像的组件和显示对话框的按钮。页面由视图范围的 bean ( PageBean) 支持,但传递StreamedContentp:graphicImage值 bean 应该是会话或应用程序范围的(因为方法称为乘法)。ImageBean所以我只为此目的制作了第二个应用程序范围的bean( )。

代码ImageBean

下一部分是fileUploadListener。想法很简单——设置相应的字段PageBean(在表单提交时保存)ImageBean(在部分刷新后显示)并更新部分主表单:

奇怪的事情来了。内部setImage()方法一切正常 - 字段已设置,getter 工作正常。但是然后页面刷新,imageBean.getImage()里面imageBean.imageStreamedContent()返回null。

更准确——它返回旧值,就好像从未调用过 setter 或在另一个 bean 实例上调用过 setter。我在另一个String字段上检查了它:在构造函数中对其进行了初始化ImageBean,在处理程序中使用另一个值调用了 setter 并刷新了主窗体的一部分。同样的事情:来自构造函数的旧值。

我认为,我缺少有关 bean 生命周期或特定范围的内容。或者也许有更简单的方法来实现这个任务?

0 投票
1 回答
837 浏览

jquery - RichFaces 4:RF 展示中的数据表样式效果在范围视图中不起作用

我正在尝试对我的 jsf 数据表进行样式设置,如下所示

它在第一次加载页面时工作。但是,当我使用 ajax 调用对列进行排序时(如前面显示的链接中所述),样式消失了。如果我刷新,样式又回来了。

如果我把我的范围放在请求范围内。样式有效,但功能排序不再有效。我不太明白的事情。(有兴趣解释这种现象......)

所以我知道 jquery 很担心,但我找不到办法说:“嘿,当我对数据表值进行排序时,不要让样式消失”

也许与 reRender 有关?

BalusC,有什么想法吗?:)

非常感谢各位,

祝你今天过得愉快。

0 投票
0 回答
203 浏览

jsf - viewscoped bean 动作不能返回相同的视图

我在使用视图范围 bean 时遇到问题。我在 xhtml 中有命令按钮,在托管 bean 中有关联的操作,应该再次呈现相同的视图。操作方法返回正常,但没有呈现视图,它在浏览器中卡住了“等待本地主机”消息。由于某种原因,bean 的 @PreDestroy 方法和注入其中的 ejb 的 @PostConstruct 方法被多次调用(似乎无限)。如果我将 bean 更改为 Sessionscoped,一切正常。我正在使用 netbeans 7.2.1,使用添加了 JSF 框架的 Web 应用程序。

xhtml部分:

后备豆:

和ejb

我需要这个 bean 是视图范围而不是会话范围。有什么想法 viewScoped 有什么问题吗?

我已经看到了这个问题:@ViewScoped Managed bean 在 postback 期间加载了很多次,但是那里的解决方案对我不起作用。

谢谢!

0 投票
1 回答
4780 浏览

jsf - Viewscoped JSF 和 CDI bean

我在 JBoss EAP 6 上使用 Java EE 6,我的 JSF bean 注释如下:( @ManagedBean @ViewScoped都来自javax.faces.bean包)

但是,它们也是 CDI bean(默认构造函数、使用@Inject@PreDestroy)。我一直在阅读,您不能混合使用这些注释(JSF 和 CDI),但它显然工作正常:注入工作正常,在视图更改时调用 preDestroy 等)。

我错过了什么吗?问题是什么?为什么不使用?

0 投票
1 回答
11720 浏览

pdf - PrimeFaces p:media 不能在 @ViewScoped bean 中使用 StreamedContent

我有一个与浏览器中的 Primefaces4 meida 类型渲染 pdf 文件相关的问题。我已经成功地尝试了 primefaces 网站上展示的示例。现在我想获得一个新功能,它在左侧面板中提供带有文档节点的树结构。用户可以选择一个文档以将其显示在中心面板中。这意味着一旦用户在树上的一个文档上进行选择,它就会在 backbean 中生成 pdf 媒体字段。

相关代码如下所示:

豆豆:

我的部分观点:

当我运行此代码时,没有错误或异常。但是,Firefox 中没有生成 PDF 查看器。真奇怪!

基于 BalusC 评论的后续问题:

当我的应用程序运行时出现此异常:

我发现这条线导致了这个异常:

如果我创建一个真正的 pdf 文件,异常就消失了。但是如果用户没有选择文件,我真的不希望显示 pdf 文件。

0 投票
0 回答
1660 浏览

jsf-2 - 为什么在 bean 销毁和 POST 渲染新页面后,浏览器刷新时会引用我的 @ViewScoped bean?

首先,我使用的是最近添加到 OmniFaces 1.6 并在其中发布的 OmniFaces CDI @ViewScoped。我很高兴在我的应用程序中使用 OmniFaces CDI @ViewScoped,但我有一个问题。

我注意到我的(TomEE 1.6 快照)服务器日志中有一些 NullPointerException,我什至在测试使用/引用标有 OmniFaces CDI @ViewScoped 的 bean 的页面时遇到了 NullPointerException。当我通常执行类似于以下操作时会发生 NullPointerException:

(1) “呈现”引用/使用 CDI @ViewScoped bean 的页面。

(2)单击存在'view'的(PrimeFaces)commandButton/Link(下),commandButton/Link action="..." 负责销毁@ViewScoped bean。

(3) 在上面的第 2 步之后,我自己或最终用户立即执行“浏览器刷新”(Google Chrome 中的 F5 键),并且由于某种/无论什么原因,CDI @ViewScoped bean(由上面的第 1 步引用)在没有正在重建的 bean...正确,因为 actionListener=#{viewScopedBean.methodToPrepareStep1View()} 或 action="#{viewScopedBean.methodToPrepareStep1View()}" 不是由“浏览器刷新”按钮/请求调用的。

(4) 因此,@ViewScoped bean 成员为“null”,并且当用户“意外”按 F5 或执行“浏览器刷新”时会引发 NullPointerException。

注意:状态保存 = 服务器和(HTTP)过滤器指示浏览器“不”通过以下方式缓存 jsf/xhtml 页面(很久以前我从 BalusC 学到的,在 stackoverflow.com 上):

另外,我阅读了以下其他/相关帖子:

JSF 2.0 View Scope 后退按钮安全吗?

在 JSF 2.0 中用于向导模式的范围是什么?

ViewScoped 像 RequestScoped 一样工作 - 为什么?

jsf清除表格

这是因为我(作为 2 岁的 JSF 开发人员)的糟糕设计吗?

我是否需要测试所有引用 CDI @ViewScoped bean 的 xhtml 页面,并重复我上面列出的步骤,然后在我的代码中到处处理 NullPointerException ......这是由“浏览器刷新”引起的?这是解决此问题的唯一方法,还是有更好的更推荐的方法来处理(或避免)CDI @ViewScoped bean 销毁后由浏览器刷新引起的 NullPointerException?

请告知/确认。谢谢。

编辑:(2)上面有“正确”的描述和有助于复制这个问题的代码。

0 投票
2 回答
4868 浏览

jsf - 使用 @ViewScoped 时的 java.io.NotSerializableException

如果我@ViewScoped在 JSF 中使用,则会发生以下异常:

我可以通过让 bean 实现来解决它Serializable。但是,我不明白其中的道理。为什么这个异常只发生在视图范围而不是其他范围?

0 投票
0 回答
496 浏览

jsf - Primefaces数据表选择行在viewscope中不起作用

在我的应用程序中,我使用的是ViewScopedBean,当在 primefaces 数据表中选择一行时,它不会显示选定的行。但是,如果我将 Bean 更改为 Bean,SessionScoped那么它会完美地显示所选行。

我阅读了一些论坛帖子,发现使用ViewaccessScopedbean 可以解决问题。有人可以在这个问题上帮助我吗?我的jsf版本是2.2。

0 投票
1 回答
8303 浏览

primefaces - Primefaces 数据表行选择在 viewscope 中不起作用

在我的应用程序中,我使用的是 ViewScoped Bean,当在 primefaces 数据表中选择一行时,它不显示选定的行。但是,如果我将 Bean 更改为 SessionScoped Bean,那么它会完美地显示所选行。

我的代码如下所示。

我的 managedBean CDI 是这样的。

PMData 和 PMDataModel 类工作正常。有人可以在仍然使用 viewscoped bean 的同时帮助我选择行吗?