我的jsf FacesBehavior类重新加载了viewscoped bean

时间:2011-07-01 15:44:21

标签: java jsf

我有一个Facesbehavior类可以正常工作。但是只要在.xhtml中使用标记,每个单击的命令按钮都会导致视图结构化bean的重新初始化。有办法避免这种情况吗?

@FacesBehavior("confirmBehavior")
    public class ConfirmBehavior extends ClientBehaviorBase {
    private static final long serialVersionUID = 123456L;
    @ManagedProperty(value = "#{render}")
    private Boolean render = Boolean.TRUE;
    @ManagedProperty(value = "#{message}")
    private String message;

    @Override
    public String getScript(ClientBehaviorContext behaviorContext) {
        if (render) {
            return "return confirm('" + message + "')";
        } else {
            return null;
        }
    } //+getters and setters
}


<h:commandButton  title="#{msg.ttUnavailablePlant}" immediate="true"
    image="/resources/img/stop.png"  actionListener="#{assortiment.markAsUnavailable}">
<an:confirm render="#{assortiment.dirty}" message="#{msg.confirmUnavailable}"/>
</h:commandButton>

当我删除'an:confirm ....'时,不会重新加载bean。 很高兴知道facesbehavior是否可以与viewcoped bean合作使用。

0 个答案:

没有答案