用JSF实现页面刷新后,checkbox仍处于选中状态

这个功能要是用JS实现是有些麻烦的,用JSF把前台与后台bean进行绑定就可轻松实现。

(这个里面还存在有大量的JSP思想,现在修改如下:)

页面代码:

<h:selectBooleanCheckbox value="#{recu_planBB.selectAll}" onclick="return displayAll();"/>

 修改后为:

<h:selectBooleanCheckbox value="#{recu_planBB.selectAll}" onclick="submit();" valueChangeListener="#{recu_planBB.queryAll}"/>

 其中valueChangeListener是JSF自带的属性;下面这段脚本去掉

function displayAll(){ document.form1.action="/recruit/planAudit.jsf"; document.form1.submit(); return true; }

 后台bean代码:

private boolean selectAll;

	public boolean getSelectAll() {
		return selectAll;
	}

	public void setSelectAll(boolean selectAll) {
		this.selectAll = selectAll;
	}

 bean代码修改如下:

private boolean selectAll;

	public boolean getSelectAll() {
		return selectAll;
	}

	public void setSelectAll(boolean selectAll) {		this.selectAll = selectAll;
	}

public void queryAll(ValueChangeEvent event){
    	selectAll="true".equals(event.getNewValue().toString());
    	queryPlanList();
    }

 

在checkbox没有选中的情况下,默认的值为false,选中后即可变成true,这样以来,只要你选中了checkbox它就会一直处于选中状态,除非你把它去掉。(这样以来就完全是JSF的思想了)

你可能感兴趣的:(bean,jsp,JSF,脚本)