2012-01-26 6 views
1

나는 MySQL 데이터베이스가 있고 그것을 검색하고 웹 페이지의 HTML에있는 db와 동일한 열을 가진 테이블에 결과를 표시하려고합니다. 서블릿에 JAVA를 사용하고 있으며 서블릿에 JavaScript를 사용하여 검색 문자열을 보내야합니다. 나는 방법을 알고 :MySQL 데이터베이스에서 데이터 가져 오기 및 자바를 사용하여 html로 표시

  1. 연결
  2. 데이터베이스에 쿼리 DB 및 결과 집합에 적절한 데이터를 검색 내가 문제가 결과 집합에서가는로 다시 보내는 데와에 그것을 표시하고

테이블의 웹 페이지.

답변

0

ResultSetMetaData을 사용하여 HTML 표에 데이터를 표시 할 수 있습니다. 'rs'이 쿼리의 결과 집합에 대한 변수라고 가정했습니다. 다음은 당신을 위해 일해야합니다

int rowCount = 0; 
PrintWriter out = response.getWriter(); 

out.println("<P ALIGN='center'><TABLE BORDER=1>"); 
ResultSetMetaData rsmd = rs.getMetaData(); 
int columnCount = rsmd.getColumnCount(); 
// table header 
out.println("<TR>"); 
for (int i = 0; i < columnCount; i++) { 
    out.println("<TH>" + rsmd.getColumnLabel(i + 1) + "</TH>"); 
    } 
out.println("</TR>"); 
// the data 
while (rs.next()) { 
    rowCount++; 
    out.println("<TR>"); 
    for (int i = 0; i < columnCount; i++) { 
    out.println("<TD>" + rs.getString(i + 1) + "</TD>"); 
    } 
    out.println("</TR>"); 
    } 
out.println("</TABLE></P>"); 
return rowCount; 
} 

자세한 내용은 tutorial에서 확인할 수 있습니다.

+0

'ResultSetMetaData'이 - 예, 그 서블릿에서 그 코딩 하드가 아닌 열 이름을 얻을 수있는 좋은 방법입니다. 하드 코딩은 HTML 테이블에서 해당 데이터베이스 테이블에있는 것보다 다른 컬럼 이름을 사용하려는 경우에만 실용적입니다. –

+0

사실! 그래서'ResultSetMetaData'를 사용하여 제안했습니다. 꽤 좋은 지적 @WebUser .. –

+0

@ManBearPig 무엇이든 물어 보셨나요? stackexchange받은 편지함에서 몇 가지 주석을 보았으므로 여기서는 읽을 수 없습니다. –

0

ResultSet 개체를 반복하고 서블릿에서 HTML을 생성 할 수 없다는 말씀입니까?

if (rs.next()) { 

    out.print("<table><tr><th>column1</th><th>column2</th>...</tr>"); 

    do { 

     out.print("<tr>"); 
     out.print(new StringBuilder("<td>").append(rs.getObject("column1"))append("</td>").toString()); 
     out.print(new StringBuilder("<td>").append(rs.getObject("column2"))append("</td>").toString()); 
     ... 
     out.print("</tr>"); 
    } while (rs.next()); 

    out.print("</table>"); 
} 
0

단계
1)는 HTTP 요청 속성이 목록을 설정 데이터베이스 목록
2) 가져온 가정합니다.
(setAttribute 함수 사용)
3) httpRequest에서 RequestDispatcher를 가져옵니다.

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<Table> 
<Tr> 
    <td>col1</td> 
    <td>col2</td> 
</tr> 
<c:forEach var="i" items="${listName}"> 
    <tr> 
     <td> 
     <c:out value="${i['col1']}"/> 
     </td>   
     <td> 
     <c:out value="${i['col1']}"/> 
     </td> 
    <tr> 
</c:forEach> 
</table> 
1

이것은 다음 JSP 사용에
4)) 조금 오래된 경우 지금 (꽤 좋은 튜토리얼입니다. MVC 유형 아키텍처, Java Bean 및 Expression 언어가있는 JSP를 사용하여 데이터베이스에서 데이터를 가져 오는 방법을 다룹니다.

http://pdf.coreservlets.com/

는 장에서보세요 (17)

관련 문제