我没看过struts in action这本书,但看你上面的代码,和我用的方法不一样,
我不是用<logic:iterate id="item" property="selectedItems">
而是:
<logic:iterate id="item" name="a_actionform_name" property="selectedItems">
注意,这里的selectedItems是你的a_actionform_name里的一个成员变量,类型一般是arraylist或vectorid="item"是对selectedItems的简称;
<bean:write name="item"/>也不是这么写的,
而是
<bean:write name="item" property="your_dataobject_property"/>
是一个成员变量保存在你的item里我一般是这么使用的。
不知道你的写法为什么不一样,

解决方案 »

  1.   

    form中加一个public String getSelectedItems(int i) {
    return this.selectedItems[i];
    }
    试试看。
    我觉得,好像String[]数组不能用<bean:write>输出。你用ArrayList看看。
      

  2.   

    另外:你把这个的<html:multibox property="selectedItems">name属性加上。
      

  3.   

    <logic:iterate id="" name="" type="">这个用法好象要写一个bean,然后在调用这个jsp页的action里,初始化一个这个bean的对象放在request(或session)里面。
    name就是这个bean所在的位置,type就是这个对象在request里的名字。我是这样理解的~~~~~但是现在我不想另外写一个bean处理这种循环,我看介绍好象说可以在这个jsp相应的form里做相应的设置,然后在jsp页就可以循环。或者传到jsp页面一个hashmap,也可以用这个标签做循环。可是我做了之后都有上述的问题出现,不知道是我理解错了~~~如果用标签做循环,必须要做一个bean的数组吗??
      

  4.   

    1 我现在使用标记也是如Leemaasn(他这家伙不怀好意 :P)所说那样,你只定义了某个beanwrite时的name却没有property。
    2 另外,没有试过某个entity的属性是数组的情况,是否是因为这个原因?
      

  5.   

    <logic:iterate name="SaveGroupEditForm" id="item" property="selectedItems">
      

  6.   

    使用logic:iterate 这个标签一定要写一个相关的bean吗?如果我传到页面的是一个hashmap(注:只是一个hashmap而已,不是一个集合bean)那么在页面就不能用logic:iterate 标签吗???
      

  7.   

    解决了~!~~~郁闷了~n天~~~~原来是jsp页面上忘记加<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    这句了~~~~~~~
    看来struts系统的报错真是烂`极了~~~~~可怜我的时间啊~~~~:(多谢大家帮忙~~一会就结贴`~~~