【问题标题】:HTML TABLE TO JSPHTML 表格转 JSP
【发布时间】:2014-05-14 09:34:59
【问题描述】:

我有一个 HTML 表格,带有一个按钮,可以将值作为表单提交提交。

<form method=POST action="SendToServlet">

<table>
    <tr>
        <td><input type="text" name="num" value="0" size="5"></td>
            <td><input type="text" name="num" value="0" size="5"></td>
    </tr>

        <tr>
        <td><input type="text" name="num1" value="0" size="5"></td>
            <td><input type="text" name="num1" value="0" size="5"></td>
    </tr>
</table>

<input typw="SUBMIT">

</form>

我在 servlet 中获取表的值,然后将它们放入发送给 jsp 的数组列表中:

ArrayList<Integer> ArrayList= new ArrayList<Integer>();
Enumeration<String> parameterNames = request.getParameterNames();
    while (parameterNames.hasMoreElements()){
        String parameterName = parameterNames.nextElement();
            String[] values= request.getParameterValues(parameterName);
            for(int i=0; i < values.length; i++){
                ArrayList.add(Integer.valueOf(values[i]));
                }
                request.setAttribute("valuesarray",ArrayList);
        request.getRequestDispatcher("/JSP.jsp").forward(request, response);
        }

我在 JSP 中这样获取它们:

<%
    ArrayList<Integer> values= (ArrayList) request.getAttribute("valuesarray");
%>
    <table>
        <tr>
               <%for(int i = 0; i<values.size(); i++){%>
               <td><%=values.get(i) %></td>

             <%}%>
           </tr>
    </table>

但我的结果是这样的:1 2 3 4。我怎样才能像 HTML 表格一样显示它?

我的预期输出:

1     |   2   |  Total row : 3
3     |   4   |  Total row : 7
-----------------------------
4 Col  6 Col

提前感谢您!

【问题讨论】:

  • 你最初是如何显示你的表格的?你希望它如何显示在结果中?
  • 为什么不显示你正在输入的情况。
  • @Santino'Sonny'Corleone 我发布到 servlet 的表是我希望在 JSP 中显示我发送的同一个表的方式。
  • 您没有将表发布到 servlet。您正在“表单”标签下发布“输入”标签的值。巧合的是,输入标签恰好在一个表中。请说明您到底在寻找什么。
  • @Hirak,好吧,我想将“输入”标签的值发送到 servlet 动态计算行和列的总和,并显示每行和每列的总和的表格。对不起我的错误解释。

标签: java html jsp servlets arraylist


【解决方案1】:

如果你的表格格式和你展示的一样(只是改变了 tr 标签的数量,每个标签都有两个 td 标签):-

<table>
    <tr>
        <td><input type="text" name="num" value="0" size="5"></td>
            <td><input type="text" name="num" value="0" size="5"></td>
    </tr>

        <tr>
        <td><input type="text" name="num1" value="0" size="5"></td>
            <td><input type="text" name="num1" value="0" size="5"></td>
    </tr>
</table>

然后把你的jsp代码改成这样:-

 <%
        ArrayList<Integer> values= (ArrayList) request.getAttribute("valuesarray");
   %>
        <table>
    <%
    int k=0;
    int noOfRows=5;
    int noOftds=4;
    for(int i = 0; i<noOfRows; i++)

            {
        if(k==values.size()){break;}
        %>
                <tr>
                <%for(int j = 0; j<noOftds; j++){%>
                 <td><%=values.get(k) %></td>
                 <%k++%>
    <%          
    }%>
            </tr>
    <%          } %>
    </table>

编辑摘要:- 我已经更改了代码,以便您可以使用变量指定每个 tr 标签中的 tr 标签数量和 td 标签数量。

【讨论】:

  • 但问题是,如果现在我的表有 5 行和 5 列,那就不行了。
  • 我尝试了你的新代码,但不能正常工作我不明白为什么。
  • 对不起,我错过了一些东西,现在试试
猜你喜欢
  • 2011-05-24
  • 2017-10-23
  • 2021-10-14
  • 2013-08-21
  • 2017-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多