补充一下,该字段promoteTypeID在form里是个数组

解决方案 »

  1.   

    select 可以与 Collection 关联
      

  2.   

    <logic:present name="xxxForm" property="ipAddress">
      <html:select multiple="multiple" property="promoteTypeID" style="WIDTH: 250px" size="6">
        <html:options name="xxxForm" labelProperty="promoteTypeID" property="promoteTypeID" />
      </html:select>
    </logic:present>
    楼主可以用这个试试,有问题我们再讨论;
      

  3.   

    <logic:present name="xxxForm" property="promoteTypeID">
    <html:select multiple="multiple" property="promoteTypeID" style="WIDTH: 250px" size="6">
    <html:options name="xxxForm" labelProperty="promoteTypeID" property="promoteTypeID" />
    </html:select>
    </logic:present>
    不好意思,打错;)
      

  4.   

    不需要循环,这样写就可以了:
    <html:select property="promoteTypeID" style="width:100%;">
     <html:options collection="promoteTypeList" property="id" labelProperty="nameCn">
    </html:select>
      

  5.   

    小刀,我不知道你写的和我写的有什么不同,好像就是<logic:present的时候你比我多了一个 property,这个有什么用呢?我现在的问题是这样的:
    修改多个产品的信息,其中一个字段是"promoteTypeID",而且是select下拉框的,我的任务就是在select里显示他在数据库里原来的值,而不是显示直接简单的显示一个Collection,如果那样的话太简单了.大家明白我的意思么? 你么你的回答都是在说select标签怎么用
      

  6.   

    用<logic:presen>只是为了判断是否存在,此处可省;
    你的promoteTypeID在form里是个数组,既然你是要显示他在数据库里原来的值,那么他在数据库是用什么类型的呢?你这个数组不是从数据库取出值后重新拼接,然后传给页面的么?
      

  7.   

    <html:select>
    在转向这个页面的时候把这个值(promoteTypeID)初始化就可,不用设置value
    <html:select property="promoteTypeID" style="width:100%;">
      

  8.   

    小刀: 显示跟类型没有关系,可以直接显示,另外,我也不需要拼接,直接显示姿色太阳,你说的是在Form的reset里做吧? 我也试验了,好像reset只支持单个元素的赋值,对数组不支持,你可以试一下,如果有好的方式那就太好了.另外,告诉大家,我现在把<logic:iterator全部改为java代码,这样我用<html:select ...value="<%=myVar%>">的方式显示就没有问题,当然<html:Options还是用了