2011-02-10 3 views
0

Iam пытается получить значения из таблицы в базе данных postgres и отображать их на странице JSP. Я использую JSTL для извлечения данных. Значения в каждой ячейке таблицы огромны т.е. некоторое содержание XML таким образом, IAM пытается положить, что в текстовое поле в ячейке таблицы т.е.значения, полученные из базы данных, не отображаются

<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> 

Это присутствует в обмен на каждом цикле. Проблема в том, что она отображает только строку request_xml, но не строку response_xml. Он отображает одну полную строку таблицы html, а другая частичная, а остальные не отображаются. Первая строка на странице jsp также содержит строку ответа.

Другое дело, все значения отображаются, если я использую только тег, но мне нужна строка, которая будет включена в текстовое поле.

Любая помощь очень ценится. Thanks

+0

Любые другие вопросы и разъяснения, пожалуйста, откройте! – technocrat

+0

Я не вижу никакого кода [JSTL] (http://download.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/). Вы указали только код HTML, Struts и JSP * Scriptlet *. Я думаю, вам нужно показать немного больше фрагмента. SSCCE был бы идеальным. Независимо от того, страница JSP, по сути, является неправильным местом для извлечения данных из БД. Я не уверен в 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"));