<html:multibox property="strArray">
  <bean:write name='db' property='id' />
</html:multibox>其中strArray为formbean的属性,应该是对应一String数组 String[] strArray;
要想让初始化选中,必须对strArray赋值.
假设db对应的model有id,name,password三个属性举个例子:
Public Class UserModel{
  String id;
  String name;
  String password;
  UserModel(String id,name,password){
     this.id=id;
     thid.name=name;
     this.password=password;
  }
  String getId(){
   ...
  }
  ...
}public clas UserForm extends ActionForm{
  public String[] strArray=null;
  ...}赋值过程:  List lt=new ArrayList();
  lt.add(new UserModel("1","1","1"));
  lt.add(new UserModel("2","2","2"));
  lt.add(new UserModel("3","3","3"));
  lt.add(new UserModel("4","4","4"));  String[] strArray=new String[2];
  strArray[0]="1";
  strArray[1]="3";
  form.setStrArray(strArray);
  如果按我说的这样赋值,jsp写法就是你上面的。结果是第一行和第三行会自动选中。希望我说的对你有帮助,不懂的话可以去看看MutiboxTag的源代码,对自已有好处。

解决方案 »

  1.   

    就是multibox里面的porperty对应的值等于前后标签中间的值时,multibox就会自动变成选中
    其实multibox,select里面的选中的定位都是一个道理,不过select里面的option不能硬编码到页面上,否则就不行!!个人观点,请指正!!
      

  2.   

    真没看懂  mzhanker(海风)  所写,至于 popufig(失散的影子) 所说:“multibox里面的porperty对应的值等于前后标签中间的值”,请问这句是什么意思,该如何实现,能否举个例子?
      

  3.   

    <html:multibox property="strArray"><bean:write name='db' property='id' /></html:multibox>
    这里的<bean:write name='db' property='id' />就是中间的值^_^!!,表达不清楚
    至于实现,其实 mzhanker(海风) 写的:
    String[] strArray=new String[2];
      strArray[0]="1";
      strArray[1]="3";
      form.setStrArray(strArray);String[] 的元素对应一个multibox,如果setter回去的String[] 元素的值等于对应的multibox的<bean:write name='db' property='id' />值,这个multibox就会打上钩。
      

  4.   

    我的这个保存multibox值的类是这样:
    import org.apache.struts.action.*;
    import javax.servlet.http.*;public class checkActionForm extends ActionForm
    {
      private String strArray[];  public String[] getStrArray()
      {
        return strArray;
      }
      public void setStrArray(String strArray[])
      {
        this.strArray = strArray;
      }
    }以下是我程序执行的流程:
    从JSP1中单击“查询”按钮----》进入Action1进行查询----》到JSP2显示全部数据信息,而且在每行信息前都有个复选框,这部分的代码就是我最上面写的,请问我应该在什么地方写让复选框选中的代码?是在Action1中吗,还是不知道该怎么作,正处在昏迷状态。
      

  5.   

    而且  popufig(失散的影子) ,我set回去的值其实就想是<bean:write name='db' property='id' />的值啊,在我上面写的那个JSP2再单击一个“确定”按钮进入Action2,取到这些所选中复选框所保存的id值好再进行处理。
      

  6.   

    在Action1中给checkActionForm的strArray属性付值....
    如String[] erid = new String[] {"1001","1035","1046"};
    //注意上面的"1001","1035","1046"应该是db中id属性值,你事先就知道这些id值,或通过查询得到...
    checkActionForm.setStrArray(erid );
    ..........................
    //保存到request作用域,以在第二个页面使相应的复选框打勾
    request.setAttribute("checkActionForm",checkActionForm);
    return (mapping.findForward("success"));
      

  7.   

    多谢: xunyiren(从jsp开始) 、 popufig(失散的影子) 、mzhanker(海风) 。