小编The*_*m34的帖子

JSF Backing Bean构造函数多次调用

我正在尝试使用JSF 2.0(过去几个月使用ICEfaces 1.8之后),我试图找出为什么在JSF 2.0中我的支持bean构造函数被多次调用.

bean应该在创建时实例化一次,但每当我单击commandButton时,就会显示"Bean Initialized"文本,指示一个新的Bean对象被实例化.

facelet页面:

    <?xml version='1.0' encoding='UTF-8' ?>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html">

    <h:body>
        <div id="content">
            <h:form id="form">
                <h:commandButton value="Toggle" action="#{bean.toggleShowMe}"/>
            </h:form>


            <h:panelGrid rendered="#{bean.showMe}">
                <h:outputText value="Show me!"/>
            </h:panelGrid>
        </div>
    </h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

支持bean:

@ManagedBean
@RequestScoped
public class Bean {
    private boolean showMe = false;

    public boolean isShowMe() {
        return showMe;
    }

    public void setShowMe(boolean showMe) {
        this.showMe = showMe;
    }

    public void toggleShowMe(){
        System.out.println(showMe);
        if(showMe==true){
            showMe=false;
        }else{
            showMe=true;
        }
    }
    /** Creates a new instance of Bean */
    public Bean() …
Run Code Online (Sandbox Code Playgroud)

jsf icefaces jsf-2

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

标签 统计

icefaces ×1

jsf ×1

jsf-2 ×1