Как правильно распечатать эту таблицу HTML / Java веб-приложение - PullRequest
0 голосов
/ 01 марта 2012

У меня возникают проблемы при попытке напечатать таблицу в HTML, чтобы элементы отображались в нужном месте. На данный момент у меня есть это. Это печатает данные в виде списка, поэтому все находится в отдельном столбце.

                    <table border=0 width="75%">

                        <%
                                    for (int pos = 0; pos < list.size(); pos++) {
                                        Menu menu = list.getMenuAt(pos);
                        %>

                        <tr>
                          <tr width="80%">
                            <b>Title:</b><br>
                            <b>Dish:</b><br>
                            <b>Description:</b><br>
                            <b>Price:</b><br><br>
                          </tr>
                        </tr>
                        <tr>
                            <td width="80%">
                                <%= menu.getTitle()%> <br>
                                <%= menu.getDish()%> <br>
                                <%= menu.getDescription()%> <br>
                                <%= menu.getPrice()%> <br><br>
                            </td>
                        </tr>

                        <%
                                    } // end for
                        %>

                    </table>

Меню может иметь один заголовок с множеством названий блюд, описаниями блюд и ценами.

Ответы [ 2 ]

1 голос
/ 01 марта 2012

Я не понимаю, почему у вас <br/> внутри элемента <td>.Ваш код будет разделять каждое поле следующим образом:

Title:
Dish:
Description:
Price:

text
text
text
text

Я думаю, ваш код должен выглядеть так:

1 голос
/ 01 марта 2012

Вы не можете иметь <tr> вложенное в <tr>.Это строки таблицы.Измените их на <td> для ячеек таблицы.

<tr>
  <td width="80%">
    <strong>Title:</strong><br/>
    <strong>Dish:</strong><br/>
    <strong>Description:</strong><br/>
    <strong>Price:</strong><br><br/>
  </td>
</tr>

Кроме того, используйте <strong> из HTML 4 и закройте тег <br/>, но они в основном педантичны:)

EDIT:

Глядя на ваш код, я думаю, что вам нужна строка заголовка, а затем выполнить цикл for и заполнить каждую строку отдельным пунктом «меню» для каждого объекта цикла for.Попробуйте это:

<table border="0" width="75%">
    <!-- Table header -->
    <tr>
        <td><strong>Title:</strong></td>
        <td><strong>Dish:</strong></td>
        <td><strong>Description:</strong></td>
        <td><strong>Price:</strong></td>
    </tr>

<%
    for (int pos = 0; pos < list.size(); pos++) {
        Menu menu = list.getMenuAt(pos);
%>

    <!-- Table contents -->

    <tr>
        <td><%= menu.getTitle(); %></td>
        <td><%= menu.getDish(); %></td>
        <td><%= menu.getDescription(); %></td>
        <td><%= menu.getPrice(); %></td>
    </tr>

<%
    } // end for
%>

</table>

Заголовок с заголовком, заголовком, тарелкой и т. Д. Вам понадобится только один раз, а затем запустите цикл for и добавьте строки после этого.Обратите внимание, что у каждой строки есть поле в отдельной ячейке, как вы должны разделять табулированные данные.Я бы порекомендовал стилизацию с помощью CSS, желательно путем включения внешнего файла CSS.

...