<!-----------1--------------------->
<s:iterator value="employee.degreeList" id="degree">
<s:textfield name="employee.degreeList.d_name"  value="${degree.d_name}"><!-----报错,但是${degree.d_name}是可以取到值的,只是我不知道怎么塞到value里----><!-----------2--------------------->
<s:iterator value="employee.degreeList" var="degree">
<s:textfield name="employee.degreeList.d_name"  value="#degree.d_name"><!-----取不到值------->
<!-----------3--------------------->
<s:iterator value="employee.degreeList" >
<s:textfield name="d_name" ><!-----这样可以直接实现,但是当在这个页面修改它的值,提交这个表单时,后台获取不到name为d_name这个控件的值,name改为"employee.degreeList.d_name"则好用,但是改成这个用不能显示后台传过来的值------>
java后台实体类中的结构为:有一个employee对象,employee对象中有自己的属性值,另外还有一个名为degreeList的
list对象,该list对象存的是degree实体,degree实体中含有d_name等属性。现在我想通过上面jsp代码(第一种和第二种)得到这个d_name的值,
显示在<s:textfield>文本框中,请问大家我改如何实现,谢谢了!我手上就这么多代码,比较急,麻烦大家了!拜托了!嘿嘿!

解决方案 »

  1.   

    这个我不懂,list 里定义d_name的value了吗
      

  2.   

    你说的第一个问题就是正确的啊     既然有值就直接放到value了    怎么会这样呢??  估计是你其他地方写错了   影响了他的取值
      

  3.   

    <!-----------1--------------------->
    <s:iterator value="employee.degreeList" id="degree">
    <s:textfield name="employee.degreeList.d_name" value="${degree.d_name}">
    ${degree.d_name}是EL,不能用在struts2标签里,得用OGNL,试试value="%{#degree.d_name}"
      

  4.   

    正解  验证正确
     <s:iterator value="employee.degreeList" var="degree">
         <s:textfield value="%{#degree.name}"></s:textfield>
        </s:iterator>