JSP页面中的一个FORM表单,表单里边是从数据库查询出来的LIST对象遍历后显示出来的条目,现在我在这些条目后面还加了个输入框(input),要求输入数字,然后提交到ACTION做处理。问题是LIST中条目是不确定的,有多的也有少的,这样的话 那个 input 中的 name 属性该怎么写呢? 之后那个ACTIONFORM 里边又怎么写呢?有点想不通了。

解决方案 »

  1.   

    jsp:
    for(int i=0;i<n;i++){
     out.println("<input type='text' name='txt"+i+"'");
    }
    java:
    for(int i=0;i<n;i++){
    Sysout.println(request.getParamter("txt"+i));
    }
      

  2.   

    LS 没明白我的意思 ,不是说条目太多显示页面很长的事。我的意思是(打个比方):购物车的例子吧购物车,我选择要买的东西,想买哪些东西就点哪些东西,放到购物车中了,这个时候一般都是每种东西1件的,现在我要将全部选择的物品有些买2个或几个的,我只要在数量那里输入数字即可,我的问题就是这个数字如何传到ACTION中去处理,ACTIONFORM中又该如何去写。
      

  3.   


    这个我想过。事实上, name=" " 我是已经直接用 和此条目相关的信息 区分开来的,但是当把这个表单post后 ,不知道 action 怎么写了。
      

  4.   

    那就在每件物品后面给它个下拉列表框,这样就可以自由选择了,通过form传到action中去处理就行了。不知道我理解的有没有问题。
      

  5.   


    不是你说的问题。问题在于到底有几样物品是不定的,导致ACTIONFORM中的name不知道怎么去区分。现在想了想,好象也可以和JSP页面遍历显示LIST中对象的方法一样,从LIST中取出来。先试试。
      

  6.   

    假如是购物车的那种的话,你可以去掉ACTIONFORM,不是买了东西就存在session中的LIST中吗?然后你在页面中把LIST中的商品循环显示的时候 给你的<input>命名的时候<input type="Text" name="q_"+你商品的ID号 
    在action里面取值:因为这个我这个是用HASHMAP存的。:
    HashMap map=(HashMap)request.getSession().getAttribute("cart");
    Iterator it=map.entrySet().iterator();
    //double totalprice=0;
    while(it.hasNext())
    {
    java.util.Map.Entry entry = (java.util.Map.Entry)it.next();
    int id=(Integer)entry.getKey();
    cartItem item=(cartItem)entry.getValue();
    String temp="q_"+id;
    String count=request.getParameter(temp);//这个就是你所说的那个输入的数量吧。

    }
      

  7.   


    MS 这个方法也不错,谢谢!不过针对我自己的问题现在已经解决了,只是在actionform里边写的比普通的复杂一点。