标签: managed-bean

JSF 1.2:如何在同一视图上的回发中保持请求范围的托管bean活着?

是否可以在同一页面上的回发中保持请求范围的bean活动?

一般的问题是,当bean在请求结束时被删除并在每个表单提交时重新创建,例如动态操作后面的布尔值disabled,readonlyrendered重置为默认值并导致表单不再像预期的那样工作.

jsf scope managed-bean

11
推荐指数
2
解决办法
6931
查看次数

从JSF中的managed-bean获取资源文件的路径

我遇到这种情况:我在尝试从托管bean中添加新的头像之前删除旧的头像图像.

String fileName = "resources/img/useravatars/" + getSessionBean().getSearchAccount().getAvatar();
File f = new File(fileName);
Run Code Online (Sandbox Code Playgroud)

我已经google了一下,似乎我可以从ExternalContext获取该文件夹的路径,如:

FacesContext facesContext = FacesContext.getCurrentInstance();
facesContext.getExternalContext(). ...
Run Code Online (Sandbox Code Playgroud)

但我找不到类文档中的适当方法.你能帮忙说些什么而不是...或建议一个更好的解决方案.

PS.不知何故,我怀疑有可能对链接进行硬编码,但到目前为止还没有运气.

jsf managed-bean

11
推荐指数
1
解决办法
3万
查看次数

如何以编程方式注册JSF托管bean?

我想以编程方式(从Servlet init()内)注册/添加Managed Bean类到应用程序范围.我怎么能用JSF 1.2做到这一点?

java jsf servlets managed-bean

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

如何引用JAR文件中提供的JSF托管bean?

我有一个具有以下结构的WAR文件:

在此输入图像描述

在JSF托管bean BusinessObjectTypeListController位于commons-web-1.0.jar/WEB-INF/lib和参考的BusinessObjectTypeListView.xhtml.当我运行我的Web应用程序并调用该视图时,出现以下错误:

javax.servlet.ServletException:/view/common/businessObjectTypeListView.xhtml @ 34,94 listener ="#{businessObjectTypeListController.selectData}":目标无法访问,标识符'businessObjectTypeListController'已解析为null

为什么找不到控制器类?它应该在classpath中,是吗?

java jar java-ee jsf-2 managed-bean

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

在托管bean构造函数中访问注入的依赖项会导致NullPointerException

我正在尝试将DAO注入托管属性.

public class UserInfoBean {

    private User user;

    @ManagedProperty("#{userDAO}")
    private UserDAO dao;

    public UserInfoBean() {
        this.user = dao.getUserByEmail("test@gmail.com");
    }

    // Getters and setters.
}
Run Code Online (Sandbox Code Playgroud)

在创建bean之后注入DAO对象,但它null在构造函数中并因此导致NullPointerException.如何使用注入的托管属性初始化托管bean?

jsf constructor nullpointerexception managed-bean managed-property

11
推荐指数
1
解决办法
3603
查看次数

JSF bean:设置ViewParam后调用@PostConstruct函数

我有一个product.xhtml和一个ProductBean.我使用/ product/{id}来访问产品,所以我在product.xhtml中有一个viewParam,其值为value = ProductBean.id.问题是在bean内部我使用带有PostConstruct注释的init函数来填充产品的细节.为此,我需要id来调用外部函数.我想虽然在viewParam设置bean的id之前调用了init,因此在init中我无法调用外部函数,因为id尚未设置.我做错了什么,如何解决这个问题?

UPDATE

我发现了什么问题.我认为viewParam方法适用于CDI bean,但ManagedProperty方法适用于JSF bean.

我现在还有另一个问题.我的CDI bean是RequestScoped,当渲染product.xhtml时,bean被创建,我猜想以后会被丢弃.有趣的是,我在该bean中有一个函数,当我调用时,我可以读取id(我认为这是因为连接到视图参数)而不是任何其他属性.任何想法如何解决这一问题?

postconstruct jsf-2 managed-bean viewparams

11
推荐指数
1
解决办法
9034
查看次数

ManagedProperty未在@FacesConverter中注入

我试图通过以下方式在FacesConverted中注入ManagedBean:

@ManagedBean
@RequestScoped
@FacesConverter(forClass = Group.class)
public class GroupConverter implements Converter {

@ManagedProperty("#{groupService}")
private GroupService groupService;

@Override
public Group getAsObject(FacesContext context, UIComponent arg1,
        String groupName) {
    return groupService.findGroupByName(groupName);
}

@Override
public String getAsString(FacesContext arg0, UIComponent arg1, Object group) {
    return ((Group) group).getName();
}

public GroupService getGroupService() {
    return groupService;
}

public void setGroupService(GroupService groupService) {
    this.groupService = groupService;
}

}
Run Code Online (Sandbox Code Playgroud)

问题是没有注入groupService,我得到一个NullPointerEx.它不应该自动自动装配,因为它也是ManagedBean吗?当我将"getAsObject"更改为"return new Group();"时,这一切都有效.明显.

有任何想法吗?

jsf dependency-injection converter jsf-2 managed-bean

10
推荐指数
1
解决办法
8518
查看次数

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

如何配置启动托管bean?

我希望托管bean在应用程序加载时在我的JSF Web应用程序中启动时在内部运行.如何在Glassfish中编写此类并进行配置?

jsf startup managed-bean

10
推荐指数
1
解决办法
4388
查看次数

检索JSF Managed Bean中的Web应用程序根路径

我试图访问jsf托管bean中的示例/ web文件夹(见图中的下图),但似乎无法找到一种方法来实现它

我试图访问jsf托管bean中的**example/web**文件夹(见图中的下图),但似乎找不到办法

谢谢

java jsf managed-bean

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