显示每个打印表格上方的标题

时间:2014-08-21 20:24:03

标签: java html jsp

我需要你的助手帮助解决问题,同时在表格中显示记录。我正在寻找一个组标题放在每个打印表的上方,用于其相关的类别和子类别,以及no。每个表的记录显示在表的顶部。

该表包含category,subcategory,name的列。例如:

Category Subcategory Name

CON Retail AAA

CON Wholesale BBB

SPEC Retail CCC

我正在寻找的是以下布局:

类别/子类别(记录数) - 与组标题类似

名称 - 国家..etc ----表格标题

表记录

以下是我的代码:

<%
//Retrieve the values from the DB
while (rs.next())
{
    category_name1=rs.getString("category_name");
    subcategory_name1=rs.getString("subcategory_name");
    //to compare the existing category with the previous one and to display group header
    if ((category_name1).equals(temp_category_name) ) {
        category_name1="";
%>
<%=category_name1%> / <%=subcategory_name1%> <%=count%>  //Currently it is showing duplicate values many times and the count is wrong
<%
}
if (!(subcategory_name1).equals(temp_subcategory_name)) {
    count=0;
%>
<table width="80%">
    <thead>
        <tr>
            <th>No.</th>
            <th> Name</th>
            <th>Country </th>
        </tr>
    </thead>
<%
}
%>
    <tbody>
<%
    name=rs.getString("name");
    country_name=rs.getString("country_name");
    temp_category_name=category_name1;
    temp_subcategory_name=subcategory_name1;
    count++;
%>
        <tr>
            <td><%=i%></td>
            <td><%=institution_name%></td>
            <td><%=country_name%></td>                                            
        </tr>
<%
}
%>
    </tbody>
</table>

上面代码中的问题是它显示了组头类别&amp; sub catgeory多次,计数不正确。所以,请帮助我纠正上述问题。

1 个答案:

答案 0 :(得分:0)

看一下这段代码:

    if ((category_name1).equals(temp_category_name) )
    {
       category_name1="";  ///HERE IS YOUR PROBLEM!!!
    }
    ....
    ....
    temp_category_name=category_name1; ///PROBLEM ABOVE MESSES THIS UP.

category_name1设置为空字符串,当它等于最后一个类别,然后将下一次迭代的最后一个类别设置为category_name1现在为空字符串时,确保如果类别超出两次,名称将再次打印。您可以使用if语句将其打印为空字符串,但将实际值保留在变量中,而不是将category_name1设置为空字符串。

此代码还存在其他问题,但这是主要问题。此外,有人在这里将不可避免地告诉你“不要使用scriptlet,使用JSTL。”

记录数。你的方式,你必须在类别的 结束 ,而不是开头显示记录数。