小编gee*_*daa的帖子

@PreDestroy从未调用@ViewScoped

我有一个@ViewScopedbean,它有一个带@PreDestroy注释的方法,可以确保关闭一些远程连接.但是,当用户导航时不调用该方法.

有什么可以做错的吗?我是否必须在任何地方注册任何内容才能使其正常工作?

这是一个简单的公共方法(void),不会抛出任何异常.

我正在使用带有Tomcat 7.0.12的JSF 2(MyFaces).这可能是Tomcat的问题吗?

UPDATE

@PostConstruct注释工作正常.

jsf annotations javabeans jsf-2

16
推荐指数
1
解决办法
8388
查看次数

将h:selectBooleanCheckbox值绑定到int/Integer而不是boolean/Boolean

我有一个<h:selectBooleanCheckbox value="#{someBean.prop}">地方prop是一个类型的属性int.它真的不能马上工作吗?我是否必须实现自定义转换器才能转换Booleanint?有没有人碰巧在库存中有转换器代码?我读到JSF 2.0中存在一些错误,可以防止转换器<h:selectBooleanCheckbox>被处理.任何人都可以证实吗?

我使用MyFaces 2,Tomahawk和Tomcat 6.

int checkbox jsf boolean converter

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

当bean被销毁时调用动作

我有一个Bean,它运行一些带有数据库连接的线程.当用户导航时,我该怎么做才能确保关闭这些连接?我可以为JSF bean定义某种形式的"析构函数"吗?

jsf destructor javabeans

5
推荐指数
1
解决办法
2912
查看次数

PrimeFaces的p:向导验证不起作用

我有p:wizard一些标签.在第一个选项卡中,用户选择一个值(t :selectOneRadio- 我正在使用Tomahawk).这是必需的价值.

如果用户未选择值,则不会转到下一个选项卡,但不会显示验证错误.嗯.

如果用户选择了一个值,则转到下一个选项卡,返回第一个选项卡并选择一个不同的值,它的行为就像这次没有选择任何值一样.(也没有验证错误,但无法调用第二个选项卡).

更糟糕的是:用户在第一个选项卡中选择一个值,转到第二个选项卡,尝试从那里调用一个操作......出现验证消息; 它就像在第一个选项卡中没有选择任何值一样.

这有什么解释吗?

UPDATE

PrimeFaces论坛中提出的解决方案为我工作.(将process ="@ this"添加到commandButton.)

validation jsf wizard primefaces

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

JSF:呈现属性

我有一个带有渲染属性的panelGroup.如果render属性设置为false,为什么甚至会调用panelGroup中的组件值?我是否想念这里的渲染属性?

我想要做的是:我在panelGroup之前有一个selectManyCheckbox,只有当用户在selectManyCheckbox中选择了值并点击一个按钮时才能执行panelGroup中的所有内容.这不会像这样工作,因为panelGroup中的组件取决于用户必须在selectManyCheckbox中选择的值.

<h:selectManyCheckbox /> // for the user to choose
<h:commandButton /> // to render the panelGroup

<h:panelGroup rendered="#{someBean.render}">
  <h:dataTable value="#{someOtherBean.loadSomething(someObject)}" var="item">
    // ...
  </h:dataTable>         
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)

jsf

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

JSF:带参数的Bean方法调用

我无法使用参数进行方法调用以在JSF 2.0(MyFaces)和Tomcat 6中工作.

这是我尝试的方式:

<f:selectItems var="item" value="#{bla.someList} itemValue="#{item.value1}" itemLabel="#{item.value2}"> <f:param name="param1" value="0" /> </f:selectItems>

我无法定义这样的方法,对吗?那么为何不?

getSomeList(int a)
Run Code Online (Sandbox Code Playgroud)

所以这就是我的尝试:

getSomeList() {
Integer a = Integer.parseInt(FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("param1")); 
return doSomething(a);
}
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Integer.java:417)
Run Code Online (Sandbox Code Playgroud)

如果有人帮助我,我将非常感激.谢谢!

更新:啊,它适用于#{bla.getSomeList(0)}!

parameters jsf el javabeans

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

JSF:动态更改表单

我想构建一个表单,根据其他组件的状态动态更改可见的组件.

例如......有一些文本框和一些复选框,如果用户激活某个复选框,则应显示一堆其他输入元素.

我可以使用JSF 2.0 + Tomahawk执行此操作,还是必须使用另一个库来执行此操作?我怎么能这样做?没有AJAX,这将无法工作,是吗?

提前致谢!

forms ajax jsf tomahawk jsf-2

0
推荐指数
1
解决办法
9738
查看次数