prepareAttribute(results, "value", getValue());
        if (isChecked()) {
            results.append(" checked=\"checked\"");
        }
----
这里就是啊
第一句会判断这个bean里面的boolean值,然后isChecked()的返回值就是这个boolean属性的值。

解决方案 »

  1.   

    我说的不明白,
    假设一开始,该bean的属性chkDetail的值设为false,那么一开始对应的checkbox应该是没被选中的状态,
    然后我点击checkbox,那么checkbox应该从没选中的变为选中的,这时该bean的属性chkDetail的值是如何变化的?现在应该是true了,但是怎样使它变为true的呢?谁给它赋的值呢?
      

  2.   

    点击checkbox只是html控件的value变化
    提交后bean对应的值会根据request中相应字段的值进行set
      

  3.   

    对,提交的时候,才会把控件的当前状态赋给bean对象的属性
      

  4.   

    这个工作是由谁来做的,谁调用的set
      

  5.   

    页面提交时会调用ActionServlet的doPost或doGet来处理当前请求,其中有对类RequestUtils的populate函数的调用,它会根据当前请求中的参数来为form中相应的属性赋值,具体是通过BeanUtils.populate来完成的。看一下struts的源码就明白了