userlist.jsp
<a href='adminUser.do?pare=toUpdate&id=admin.getId()'修改></a>user.action
                //跳转到相应的action
                public ActionForward toUpdate(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
int id = Integer.parseInt(request.getParameter("id"));
User user = userBiz.findUserById(id);
UserForm  userForm = (UserForm) form;
petOpForm.setPet(pet);
                  //获取城市列表,他是city表的数据,user表也有个字段是city
List citylist=modoerAreacodeDao.findAll();
request.setAttribute("cityList", citylist);
                  //跳转到更新页面
return mapping.findForward("toUpdateUser");
         }UpdateUser.jsp
<html:form action="/user" method="post">
    <html:hidden property="method" value="doUpdateUser"/>
      <table>    
        <tr>
          <td>姓名:</td>
          <td><html:text property="user.name" /></td>
        </tr>
        <td>城市:</td>
?????????????????????????????????????????
        <tr>
          <html:submit value="更新" /></td>
        </tr>
      </table>
    </html:form>现在问题就来了,页面问号部分怎么写才能既展示城市列表,又同时是user表中选中的那个城市,而不是重新从头把城市列出来呢?select的标签不会用,如果能不用struts标签更好高手指点一下啊

解决方案 »

  1.   

    我的city表中就id,city两个字段
      

  2.   

    user表中就id,name,city三个字段
      

  3.   


    <select name="" id="">
    <c:forEach items="${cityList}" var="city">
    <option value="city">city</option>
    </c:forEach>
    </select>不知道能否满足楼主的需求 试试吧
      

  4.   

    <select name="" id="">
    <c:forEach items="${cityList}" var="c">
    <option value="c.id">c.city</option>
    </c:forEach>
    </select>
      

  5.   


    后台记得userForm .setCity("xx");xx为userForm .getCity();没有的话设为默认
    <html:select property="city" > 
    <logic:notEmpty name="cityList">
    <html:optionsCollection name = "cityList" label="city" value="id"/> 
    </logic:notEmpty>
    </html:select>
      

  6.   

    city 为String,不是实体类CITY!如果要得到CITY可以通过他的id来,个人建议用了struts就不要再用C标签,在页面上,标签太多对于维护人员来说是一个折磨