这样行不行,我这里不行了
我想用iteracter批量产生s:radio
然后名字就里面的一个属性,应该怎么做呢?

解决方案 »

  1.   

    <s:iterator value="label" id="id"> 
        <s:radio name="#id.userid" /> 
    </s:iterator> label是你要遍历的List
      

  2.   

    其实你后台对应应该有一个list集合存放多个实例对象(从数据库读出封装成对象),并且有get/set方法,那么你前台这里可以这样:
    <s:bean name="包名.DAO类名" id="产生的对象x"/>
    <s:radio list="x.方法名(去掉get对应的方法)" listValue="页面显示的值" listKey="提交的值" name="存储变量" label="显示的文字"/>
    这样就是利用多个javabean实力动态产生的radio。
      

  3.   


    这个看的不是太懂了,呵呵,菜鸟,action里面是有list,不过dao类名不知道是什么东西
      

  4.   

    <s:bean>对应的不就是javabean对象么,
    name里面直接写你那个list所放的对象的那个类的完整限定名就ok了。
      

  5.   

    这样是不行的,web页面只有html标签允许签到其他开源框架的标签或者自定义标签,除此以外其他的标签是不能这样嵌套的。
    就好比:<input type="text" value="<s:property value=“userid” />">这样是可以的,但是你那种嵌套是不行的。
    你可以用js去批量生成s:radio.
      

  6.   


    那选了值再怎么提交到action呢?
      

  7.   

    直接绑定后台,→ name="存储变量"
    这个存储的变量就是你后台的对应的list集合里存放的对象的某一个属性;
    比如后台action中的list里放了User;
    User有name这个属性;
    那么你用迭代的时候就name就可以这样设置:
    name="%{list名[下标].name}" 
    也就是说找到这个list集合中的某个下标对应的User对象的name属性;