2013-09-28 2 views
5

Я пытаюсь извлечь данные из базы данных в таблицу. Но данные должны загружаться динамически.Как динамически создавать строку и столбец таблицы на странице jsp

Как динамически создавать строки и столбцы Я не знаю? Если это будет только строка для создания, я сделаю это легко, но я также хочу динамически создавать столбцы на странице, поэтому я смущен, как это сделать?

Мой JSP код:

<table width="59%" border="1"> 
    <% 
     MySql1 o = new MySql1(); 
     o.connect(); 
     ResultSet r; 
     int counter=1; 
     String q = "select * from category_master;"; 
     r = o.getdata(q); 
     while(r.next()) 
     { 
      %> 
       <tr> 
        <td><%= r.getString(1)%></td>          
       </tr> 
      <% 
     } 
    %> 
</table> 

Сейчас я отображая первый столбец в <td>, но если пользователь не знает, сколько столбцов будут извлечены, то что делать? В select query Я использовал *, поэтому я смущен для принятия <td>. Я хочу, чтобы все динамические, потому что я буду передавать имя таблицы также динамически с помощью любого текстового поля или URL-адреса.

Здесь MySql 1 является одним файлом класса, который имеет способ выполнения операции. connect() используется для соединения с db, а getdata() используется для извлечения данных запроса, переданного в качестве аргумента, и возвращаемого типа getdata() метод - Resultset.

Поэтому я хочу, чтобы все динамическое, но я не знаю, как это сделать.

ответ

6

попробовать этот код:

<table width="59%" border="1"> 
    <% 
     MySql1 o = new MySql1(); 
     o.connect(); 
     ResultSet r; 
     int counter=1; 
     String q = "select * from category_master;"; 
     r = o.getdata(q); 
     ResultSetMetaData metaData = r.getMetaData(); 
     while(r.next()) 
     { 
      %> 
       <tr> 
       <% 
       for(int i = 1; i<=metaData.getColumnCount();i++) 
        { %> 
        <td> 
        <%= r.getString(i)%> 
        </td> 
       <% 
        } 
       %>     
       </tr> 
      <% 
     } 
    %> 
</table> 
+0

You Are Great .. Я свободен .. –

+0

мое удовольствие помочь! –

+0

Спасибо, сэр .... –

0

Я сделал Jsp страницу для тестирования, как этот

здесь это test.jsp

<table width="59%" border="1"> 
    <thead> 
    <tr> 
     <td>Volume</td> 
     <td>XmlTitle</td> 
     <td>getYear</td> 
    </tr> 
    </thead> 
    <tbody> 
    <% 
     Journal journal = Journal.findByCode("antipoda"); 
     List<Issue> normalIssues = journal.getIssuesOfType(IssueType.NORMAL); 
     for (Issue issue : normalIssues) { 

      out.print(String.format("<tr>" + 
             "<td>%s</td>" + 
             "<td>%s</td>" + 
             "<td>%d</td>" + 
            "</tr>", 
        issue.getVolume(),issue.getXmlTitle(),issue.getYear())); 
     } 

     out.flush(); 
    %> 
    </tbody> 
</table> 

вы можете изменить скриптлет к коду, который перебирает THRU модель, которую вы хотите отобразить

надеюсь, что это поможет

Смежные вопросы