相关疑难解决方法(0)

@ViewScoped在每个回发请求上调用@PostConstruct

这似乎不对.我正在清理我的代码,我只是注意到了这一点.每个ajax请求都会触发构造函数和@PostConstruct我的@ViewScopedbean.即使是简单的数据库分页也会触发它.

知道@ViewScoped@RequestScoped任何请求都要重建并且不应该重建.只有在通过GET重新加载完整页面之后.

jsf constructor postconstruct jsf-2 view-scope

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

为实体创建主 - 详细信息页面,如何链接它们以及选择哪个bean范围

我已经开始学习JSF,但遗憾的是,大多数教程只提供登录或注册部分.

你能指点我一些更深入的例子吗?我感兴趣的一件事是一个展示产品清单的页面.我在页面回家,我按下页面产品,以便我可以看到添加的最新产品.每次访问该页面时,都会根据数据库中的最新条目创建产品列表.我怎么处理这个?

解决此问题的一种方法是创建一个会话范围的托管bean,在其中我将通过其他托管bean更新不同的实体.我在一些教程中发现了这种方法,但它看起来很困难而且很笨拙.

哪个是解决这类问题的最佳方法?在两页主从细节用户界面中,会话范围的正确用法是什么?

session jsf scope master-detail

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

如何在重定向页面中显示面部消息

我提供了一个允许用户为应用程序创建帐户的界面.在该过程结束时,注册方法执行注册过程向页面添加成功消息,然后将用户导航到显示所有系统用户的中央数据表.

我遇到的问题是,由于页面重定向,成功消息永远不会显示.我不能在方法中有wait()因为在方法完成之前不会显示JSF消息.理想情况下,我希望显示成功消息,然后在指定的时间后重定向页面.

我怎样才能做到这一点?

jsf redirect message

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

如何在JSF 2.0/2.1中用CDI替换@ManagedBean/@ViewScope

我目前正在使用RichFaces评估Java EE 6/JSF 2.1.

声明为的bean

@ManagedBean
@ViewScoped
Run Code Online (Sandbox Code Playgroud)
  1. 获取ID集(以准备例如删除操作).
  2. 通过JSF显示确认弹出窗口.
  3. 如果用户确认,则调用delete方法并删除在步骤1中存储了ID的行.

由于CDI bean没有ViewScope,我试图将bean声明为:

@Named
@ConversationScoped
Run Code Online (Sandbox Code Playgroud)

现在,处理在步骤3中失败,因为步骤1中设置的值(已选中)不再可用.

我必须使用Conversation.begin()Conversation.end()方法吗?

如果是这样,哪里可以调用它们的好地方?

jsf cdi jsf-2 view-scope

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

JSF 2.x @ViewScoped托管bean线程是否安全?

我一直在谷歌搜索几个小时在这个问题上没有评估.

关于所提供示波器的线程安全性,WELD文档和CDI规范非常明确.

例如:

  • 适用范围 - 不安全

  • 会话范围 - 不安全

  • 请求范围 - 安全,始终绑定到单个线程

  • 会话范围 - 安全(由于WELD代理序列化来自多个请求线程的访问)

我在JSF 2.x定义的View Scope上找不到任何东西.

它与对话范围大致相同,因为尽管绑定到单个视图/用户,但多个请求很可能同时命中范围.我不知道的是JSF实现是否从多个请求序列化对bean的访问.

任何人都知道规格或Morraja/MyFaces的实施可以解决这个问题吗?

concurrency jsf cdi jsf-2 view-scope

17
推荐指数
1
解决办法
4942
查看次数

如何将Bean中的项目列表显示到JSF网页上?

我是JSF的新手,在学习构建在线书店应用程序的过程中.

我有1个班级和1个豆子:Book.javaBookCatelogBean.java.Book类有3个属性:id,titleauthor它相应的getter和setter.该BookCatelogBean包含ArrayList<Book>在那里我用填充它Books(在将来,我将它连接到数据库).

我有两页:index.xhtmlbook.xhtml.我想显示index.xhtml每个格式为REST链接的书名列表及其ID book.xhtml,如下所示:<h:link outcome="book?id=#{bookCatelogBean.id}" value="#{bookCatelogBean.title}" />

我知道如何使用BookCatelogBean显示1,book但我想显示所有这些?我有一个想法,调用一个方法来BookCatelogBean调用getAllBooks(),返回每个书籍标题,但我如何将它们中的每一个返回到index.xhtml作为JavaserverFace链接而不是字符串?

谢谢

这是我的代码:

Book.java

package bookshop;

import java.io.Serializable;

public class Book implements Serializable {

    private int id;
    private String title;
    private String author;

    public Book(int id, String title, String author){
        this.title = title;
        this.id = id;
        this.author = author;
    }

    public …
Run Code Online (Sandbox Code Playgroud)

iteration collections jsf loops jsf-2

17
推荐指数
1
解决办法
7万
查看次数

JSF 2应用程序中的默认Managed Bean Scope是什么?

通常,默认范围是请求范围.我试图删除范围注释并期望bean有一个请求bean scopped行为(通过在前一页上返回一个提交的值,我记得我已经尝试过这个过去并且它工作正常)但我没有得到任何关于表达语言连接到它.那么什么是默认范围以及它为什么不是相同的行为?!

jsf

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

在不使用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万
查看次数

如何以及何时在JSF中销毁@ViewScoped bean?

所述的生命周期 @RequestScoped@SessionScopedBean 管理豆由Servlet容器自身管理,因为它们是基本上作为一个属性存储HttpRequestHttpSession分别.JSF如何管理生命周期@ViewScopedBean?我知道它是在创建视图时创建的,并且可以使用,直到有回发到另一个视图.但是我发现在我们离开那个视图后不会立即收集垃圾.

jsf destroy jsf-2 managed-bean view-scope

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

我应该如何以及何时从数据库中为h:dataTable加载模型

我有一个数据表如下:

<h:dataTable value="#{bean.items}" var="item">
Run Code Online (Sandbox Code Playgroud)

我想用从服务方法获得的数据库中的集合填充它,以便在初始(GET)请求期间打开页面时立即显示它.我什么时候应该打电话给服务方法?为什么?

  1. 在加载页面之前调用它.但是怎么样?
  2. 在页面加载期间调用它.怎么样?
  3. 在getter方法中调用它.但它被多次调用.
  4. 别的什么?

datatable getter jsf loading

13
推荐指数
1
解决办法
8062
查看次数