我在页面上使用到了html:multibox的stucts标签,但是没办法通过checked属性来控制是否选中,去网上查了一下,发现要在formbean中给multibox赋和页面定义时相同的值,假如我的jsp是<html:multibox property="STATUS_FLAG_SEARCH" value="0"  />的话,那么formbean中就要定义private String[] STATUS_FLAG_SEARCH = {"0"}这样子就可以令其选中。但是这样在form里就把值定死很不方便,像我的是一个查询程序multibox是作为查询条件,选中了哪些multibox之后,按下查询按钮会调用一个searchaction,然后页面刷新显示查询结果,我希望页面刷新过后之前选中的那些multibox还是选中,应该怎么做啊?本人程序小白,请各位高手指教。

解决方案 »

  1.   

    用javascript可以达到你的效果,去网上,搜一下吧,
    如果没有我可以给你一些,做个参考
      

  2.   

    html:multibox就这么设计的
    所以不喜欢struts
      

  3.   

    烦请小群同学给些参考……完全没有想到用js来解决,总感觉没有了checked属性之后好像挺难得……
      

  4.   

    你只是页面控制而已,就不要用struts标签好了
      

  5.   

    你可以把调用searchaction刷新做为一个From提交,然后根据选择情况赋值给Form中对应multibox的String[]或List之类的。
      

  6.   

    有QQ msdn什么的吗
    给你发过去
      

  7.   

    西林同学说的是不是首先把选中的值传进了searchaction之后,然后整个action完毕了,再用settter method把值重新放回去form中?如果是的话,我已经试过这种方法了,但是好像没用,也不知道是否代码上不对,我是这样作的。
    public class WZJQ008_002Action extends BaseAction {
    public ActionForward solidExecute(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                throws IOException, ServletException {      

    WZJQ008Form WZJQ008Form = (WZJQ008Form)form;


                      String[] ST_VALUE_TEMP = WZJQ008Form.getSTATUS_FLAG_SEARCH();//页面上定义的multibox property
                      …………
                      …………
                      完成了所有的逻辑处理后
                      
                      WZJQ008Form.setSTATUS_FLAG_SEARCH(ST_VALUE_TEMP);
      

  8.   

    小群同学请查看pm,我已经把msn地址发给你了
      

  9.   

    其实楼主要知道,页面刷新了,如果你页面执行的带有action的话,特别是带有参数的话,那你的刷新等于就是还要执行一遍action,不带你的参数的话就有有问题。
      

  10.   

    的确是刷新,并执行了一遍action,但是我从页面上取过来multibox的value值只是作为查询条件,action过程中不曾改变,于是我直接在逻辑处理完毕后塞回去form里,希望能够动态改变form中的STATUS_FLAG_SEARCH值。但是不行。
    至于楼上具体的意思,不是太明白……