标签: managed-bean

如何将JavaScript变量作为参数传递给JSF动作方法?

我正在准备JavaScript中的一些变量(在我的具体情况下,我想获得GPS位置):

function getVars() {
    // ...
    var x = locationInfo.lng; 
    var y = locationInfo.lat;
}
Run Code Online (Sandbox Code Playgroud)

我想通过以下命令按钮将它们发送到我的托管bean:

<h:commandButton value="submit" onclick="getVars()" action="#{bean.submit(x,y)}" />
Run Code Online (Sandbox Code Playgroud)
public void submit(int x, int y) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

如何将JavaScript xy变量从JavaScript 发送到JSF托管bean操作方法?

javascript jsf parameter-passing managed-bean

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

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

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

jsf destroy jsf-2 managed-bean view-scope

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

什么用,托管bean(支持bean)或实体bean?

我看到很多将bean标记为实体bean(@Entity)和命名bean(CDI)的示例,以避免创建2个类(托管bean和实体bean)以及使用Bean Validation以便可以执行验证在客户端和服务器上.

那么我是否应该使用单个类,是否存在任何问题,或者我是否应该使用托管bean中的数据创建托管bean或服务层创建实体bean?

entity bean-validation jsf-2 managed-bean

14
推荐指数
1
解决办法
6192
查看次数

com.sun.faces.mgbean.ManagedBeanCreationException:在托管bean上执行资源注入时发生错误

我有一个JSF托管bean

当从WebSphere AppServer中的JSF页面引用托管bean时,我收到错误.

<h:inputText value=#{bean}/>
Run Code Online (Sandbox Code Playgroud)

bean在faces-config.xml中定义为

<managed-bean>
  <managed-bean-name>bean</managed-bean-name>
  <managed-bean-class>com.test.Bean</managed-bean-class>
  <managed-bean-scope>session</managed-bean-scope>
</managed-bean>
Run Code Online (Sandbox Code Playgroud)

这是例外:

com.sun.faces.mgbean.ManagedBeanCreationException:在托管bean mailingCitySuggestions上执行资源注入时发生错误


更新:这是堆栈跟踪:

 com.sun.faces.mgbean.ManagedBeanCreationException: An error occurred performing resource injection on managed bean mailingCitySuggestions
[5/31/11 13:37:10:506 CDT] 00000126 SystemErr     R     at com.sun.faces.mgbean.BeanBuilder.injectResources(BeanBuilder.java:213)
[5/31/11 13:37:10:506 CDT] 00000126 SystemErr     R     at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:108)
[5/31/11 13:37:10:506 CDT] 00000126 SystemErr     R     at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:374)
[5/31/11 13:37:10:506 CDT] 00000126 SystemErr     R     at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:222)
[5/31/11 13:37:10:506 CDT] 00000126 SystemErr     R     at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:88)
[5/31/11 13:37:10:506 CDT] 00000126 SystemErr     R     at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
[5/31/11 13:37:10:506 CDT] 00000126 SystemErr …
Run Code Online (Sandbox Code Playgroud)

resources jsf dependency-injection managed-bean

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

读取托管bean中的资源包属性

使用<resource-bundle>文件我可以在我的JSF页面中使用i18n文本.

但是有可能在我的托管bean中访问这些相同的属性,所以我可以设置具有i18n值的面部消息吗?

jsf internationalization managed-bean

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

sessionscoped托管bean与有状态ejb

如果我有@ManagedBean这个@SessionScoped,为什么我会使用@StatefulEJB?我之前用过购物车并保持会话状态,但由于托管bean将在用户会话期间保存,我可以在那里存储状态,然后调用SLSB以获取业务逻辑.那是对的吗?如果是,那么有状态的ejbs将留给更具体的应用程序,例如何时需要交易等?

jsf ejb stateful-session-bean managed-bean

12
推荐指数
1
解决办法
7574
查看次数

注入vs ManagedProperty

好的,所以我有一个JSF支持bean需要引用另一个(@NoneScoped)bean.

我应该@Inject它还是使用@ManagedProperty从容器中获取实例引用?

为什么要使用一个而不是另一个,在我看来,这两种方法实现了同样的目的.

jsf cdi managed-bean

12
推荐指数
2
解决办法
8191
查看次数

尝试在构造函数中访问@Inject bean时出现NullPointerException

我有一个会话范围的bean:

@Named
@SessionScoped
public class SessionBean implements Serializable {

    private String someProperty;

    public String getSomeProperty() {
        return someProperty;
    }

}
Run Code Online (Sandbox Code Playgroud)

我想在请求范围的bean中注入它并使用它初始化:

@Named
@RequestScoped
public class RequestBean {

    @Inject
    private SessionBean sessionBean;  

    public RequestBean() {
        System.out.println(sessionBean.getProperty());
    }

}
Run Code Online (Sandbox Code Playgroud)

但是,它会引发以下异常:

java.lang.NullPointerException
    at com.example.RequestBean.<init>(RequestBean.java:42)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at org.jboss.weld.introspector.jlr.WeldConstructorImpl.newInstance(WeldConstructorImpl.java:206)
    at org.jboss.weld.injection.ConstructorInjectionPoint.newInstance(ConstructorInjectionPoint.java:117)
    at org.jboss.weld.bean.ManagedBean.createInstance(ManagedBean.java:336)
    at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget.produce(ManagedBean.java:200)
    at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:292)
    ...
Run Code Online (Sandbox Code Playgroud)

这是怎么造成的,我该如何解决?

jsf constructor nullpointerexception cdi managed-bean

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

什么是托管bean以及每页应该使用多少?

我正在使用JavaServer Faces开发Web应用程序.

我已经找到了很多关于如何使用JavaServer Faces的示例和教程,但它们都没有实际解释Bean的用途.我最初的想法是,豆类代表形式.在表单中输入数据并单击提交按钮,关联的Bean将填充数据并调用方法.

但是,到目前为止,我只看到每页有一个Bean的示例,因此Bean也可以表示页面,因此包含多个表单.

我也对Bean的范围感到困惑.如果Bean表示表单或页面,则在请求结束后它将变为无效.如果你让bean活在会话范围内,那么Bean会发生什么?您是否仍然可以以某种方式从中获取数据,或者一旦您返回它就会为您填写相关表格?

总结一下 - 什么是Managed Bean以及如何正确使用它?

architecture jsf managed-bean

12
推荐指数
1
解决办法
8119
查看次数

从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万
查看次数