求教
从action中向jsp页面传入了一个list,使用jstl接收${list},在这个jsp页面使用
<c:forEach item="${list}" var="tes">//循环取出所有对象
  <tr>
   <td>${test.id}</td>
   <td><input type="text" value="${test.name}"></td>
   <td>
     <>变更<>
     <a href="action!actionOne?id=${test.id}">删除</a>
   </td>
 </tr>
</c:forEach>现在我需要直接从页面输入值 点击变更 直接更改当前对象的值应该如何操作,尝试过使用<a>标签和<form>行进反向均未实现该功能请问应该如何处理

解决方案 »

  1.   

    就是在页面上遍历输出了list中的所有数据,但是不知道怎么单个的在页面改了。
    form是表单,是准备提交给服务器的,楼主的想法是不通过服务器改了之后在提交服务器是吧?
    用form接受,input value这里接口List的值,
    然后默认会显示list中的结果,你输入之后点击提交一下剩下的就交给服务器了
      

  2.   

     
    我之前尝试过这个方法使用form表单提交后应该是反向出一个新的对象, 我需要用这个新反向出对象的值去替换之前的值,但是前提是我必须获取之前对象,所以我至少要知道之前这个对象的id或者其他属性,但是使用form却无法将id传入,因为id是自增列,所以在这里纠结了
      

  3.   

    关id自增什么事啊,你得到的之前的对象的属性,修改了等于更新它,如果没有id的话等于保存新对象。这有什么矛盾呢
      

  4.   

    点击变更,就获取test.id,然后set你要修改的数据就行了,就是一个update语句。
      

  5.   

    好像模糊理解你的意思,
    这样吧。我发个servlet的例子,不知道符合你的要求不?
    符合的话你尝试着改成jsp的吧。不会的话再回复。public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException { response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    IUserService service=FactroyBean.getUserService();
    //查找所有的用户
    List<User> list=service.findAll();
    out.println("<html><body><center><table  border='1px'>");
    out.println("<tr><td>用户名</td><td>密码</td><td>性别</td>");
    out.println("<td>爱好</td><td>城市</td><td>简介</td><td>按钮1</td><td>按钮2</td></tr>");


    for(int i=0;i<list.size();i++){
    String name=list.get(i).getName();
    String password=list.get(i).getPassword();
    String gender=list.get(i).getGender();
    String hobby=list.get(i).getHobby();
    String city=list.get(i).getCity();
    String info=list.get(i).getInfo();
    out.println("<tr><td>"+name+"</td>");
    out.println("<td>"+password+"</td>");
    out.println("<td>"+gender+"</td>");
    out.println("<td>"+hobby+"</td>");
    out.println("<td>"+city+"</td>");
    out.println("<td>"+info+"</td>");
    out.println("<td><a href='DeleteServlet?name="+name+"'>删除</a></td>");
    out.println("<td><a href='UpdateServlet?name="+name+"'>更新</a></td></tr>");
    }
    out.println("</table></center></body></html>");
    out.flush();
    out.close();
    }
      

  6.   

    你变更的时候你要想法获取你变更的对象的id和你变更的值,传到后台update就可以了。