2011-02-10 7 views
0

Iam이 Postgres 데이터베이스의 테이블에서 값을 가져 와서 JSP 페이지에 표시하려고합니다. Iam이 JSTL을 사용하여 데이터를 가져옵니다. 테이블의 각 셀의 값은 거이다 즉 이는 피 각 루프에 존재데이터베이스에서 가져온 값이 표시되지 않습니다.

<body> 

<sql:setDataSource driver="org.postgresql.Driver" 
url="jdbc:postgresql://x.x.x.x:5432/postgres" user="postgres" password="postgres"/> 

<sql:query var="summary" sql="select * from req_resp_summary"> 
</sql:query> 
<br><br><br><br> 
<table class="hovertable" align="center"> 
<h3> Request and Response Summary</h3><br> 

<tr> 
<th><b>ID</b></th> 
<th><b>Name</b></th> 
<th><b>Reqest XML</b></th> 
<th><b>Respnse XML</b></th> 
<th><b>Request TimeStamp</b></th> 
<th><b>Responded Time</b></th> 
<th><b>Destination</b></th> 
<th><b>Status</b></th> 
</tr> 

<c:forEach var="sum" items="${summary.rows}"> 
<tr onmouseover="this.style.backgroundColor='#ffff66';" onmouseout="this.style.backgroundColor='#d4e3e5';"> 
<c:set var="req_xml" value="${sum.request_xml}"/> 
<c:set var="res_xml" value="${sum.response_xml}"/> 
<% 
String response_xml=(String)pageContext.getAttribute("res_xml"); 
String request_xml=(String)pageContext.getAttribute("req_xml"); 
%> 
<td><c:out value="${sum.request_id}"/></td> 
<td><c:out value="${sum.element_name}"/></td> 

<!--<td width="20px" height="30px"><c:out value="${sum.request_xml}"/></td>--> 

<td><html:textarea property="req_xml" value="<%= request_xml%>" readonly="true" rows="4"></html:textarea> </td> 
<!--<td style="text-align: justify; "><c:out value="${sum.response_xml}"/></td>--> 
<td><html:textarea property="req_xml" value="<%= request_xml%>" readonly="true" rows="4"></html:textarea> </td> 
<td><c:out value="${sum.timestamp}"/></td> 
<td><c:out value="${sum.respond_time}"/></td> 
<td><c:out value="${sum.destination}"/></td> 
<td><c:out value="${sum.status}"/></td> 
</tr> 
</c:forEach> 
</table> 

</body> 

즉 테이블 셀 내 텍스트 영역에 그 맞추려고 따라서 IAM 일부 XML 콘텐츠. 문제는 request_xml 문자열 만 표시하고 response_xml 문자열은 표시하지 않는다는 것입니다. 하나의 전체 HTML 표 행을 표시하고 나머지는 부분 표시이며 나머지는 표시되지 않습니다. JSP 페이지의 첫 번째 행은 응답 문자열로도 완성됩니다.

태그 만 사용하는 경우 다른 값은 모두 표시되지만 텍스트 영역에 포함될 문자열이 필요합니다.

도움을 주시면 감사하겠습니다. 감사합니다

+0

기타 질문 및 설명은 열려주십시오! – technocrat

+0

[JSTL] (http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/) 코드가 표시되지 않습니다. HTML, Struts 및 JSP * Scriptlet * 코드 만 표시했습니다. 나는 니가 조금 더 스 니펫을 보여줄 필요가 있다고 생각해. SSCCE가 이상적입니다. 그럼에도 불구하고 JSP 페이지는 본질적으로 DB에서 데이터를 가져 오는 잘못된 위치에 있습니다. Struts에 대해서는 잘 모르겠지만, 일반적인 JSP/Servlet에서는 (간접적으로) 서블릿을 사용하고 싶습니다. – BalusC

답변

0

문자열을 수집하여 텍스트 영역에 사용하도록 HashMap을 사용해보십시오.

HashMap x = new HashMap(); 
HashMap y = new HashMap(); 


x.add(pageContext.getAttribute("res_xml")); 
y.add(pageContext.getAttribute("req_xml")); 
관련 문제