相关疑难解决方法(0)

如何选择合适的bean范围?

我注意到有不同的bean范围,如:

@RequestScoped
@ViewScoped
@FlowScoped
@SessionScoped
@ApplicationScoped
Run Code Online (Sandbox Code Playgroud)

每个人的目的是什么?如何为我的bean选择合适的范围?

jsf scope jsf-2 managed-bean

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

commandButton/commandLink/ajax动作/侦听器方法未调用或输入值未设置/更新

有时,使用时<h:commandLink>,<h:commandButton>或者<f:ajax>,在action,actionListenerlistener与标签相关的方法根本不被调用.或者,bean属性不会使用提交的UIInput值进行更新.

有什么可能的原因和解决方案?

jsf action commandlink jsf-2 commandbutton

332
推荐指数
5
解决办法
20万
查看次数

支持bean(@ManagedBean)或CDI Beans(@Named)?

我刚开始阅读Core JavaServer Faces,第3版.他们这样说(强调我的):

对于可以在JSF页面中使用的bean,有两种不同的机制,CDI bean和JSF托管bean,这是一个历史事故.我们建议您使用CDI bean,除非您的应用程序必须在像Tomcat这样的普通servlet运行器上运行.

为什么?他们没有提供任何理由.我一直在使用@ManagedBean在GlassFish 3上运行的原型应用程序中的所有bean,我还没有发现任何问题.我不介意迁移@ManagedBean@Named,但我想知道为什么我应该打扰.

jsf java-ee cdi jsf-2

106
推荐指数
3
解决办法
7万
查看次数

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

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

jsf

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

jsf 2为每个请求创建的会话bean

ELLO

我有2个Managed bean,一个是View作用域,另一个是作用域.View作用域bean定义为

@ManagedBean
@ViewScoped
public class InvoiceController implements Serializable {
  private static final long serialVersionUID = 1L;

  @ManagedProperty(value="#{invoiceService}")
  private InvoiceService invoiceService;
Run Code Online (Sandbox Code Playgroud)

会话作用域为bean

@ManagedBean
@SessionScoped
public class InvoiceService implements Serializable{
Run Code Online (Sandbox Code Playgroud)

我正在使用会话范围的bean来保存一个标志,用于决定是否应该呈现一个面板,当我通过调试运行时,我发现每次我在sesison bean上调用该方法时,它都是一个新的bean实例因此不会在请求之间保留我的标志值.

我究竟做错了什么?

jsf-2

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

标签 统计

jsf ×4

jsf-2 ×4

action ×1

cdi ×1

commandbutton ×1

commandlink ×1

java-ee ×1

managed-bean ×1

scope ×1