从数据库中获取的值未显示
Posted
技术标签:
【中文标题】从数据库中获取的值未显示【英文标题】:values fetched from database not being displayed 【发布时间】:2011-02-10 13:52:55 【问题描述】:我试图从 postgres 数据库中的表中获取值并显示在 JSP 页面中。我正在使用 JSTL 来获取数据。表格的每个单元格中的值都很大,即一些 xml 内容,因此我试图将其放在表格单元格内的 textarea 中,即
<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 ><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>
这存在于 for-each 循环中。问题是它只显示 request_xml 字符串而不显示 response_xml 字符串。它显示一个完整的 html 表格行,另一个是部分的,其余的不显示。 jsp 页面的第一行也包含响应字符串。
另一件事是,如果我只使用标签,则显示所有值,但我需要将字符串包含在文本区域中。
非常感谢任何帮助。 谢谢
【问题讨论】:
任何其他问题和澄清请开放!! 我没有看到任何JSTL 代码。到目前为止,您只展示了 HTML、Struts 和 JSP Scriptlet 代码。我认为您需要展示更多的sn-p。 SSCCE 将是理想的。无论如何,JSP 页面本质上是从数据库中获取数据的错误位置。我不确定 Struts,但是对于普通的 JSP/Servlet,您希望(间接)为此使用 servlet。 【参考方案1】:尝试使用 HashMap 来收集您的字符串并将其用于您的文本区域。
HashMap x = new HashMap();
HashMap y = new HashMap();
x.add(pageContext.getAttribute("res_xml"));
y.add(pageContext.getAttribute("req_xml"));
【讨论】:
以上是关于从数据库中获取的值未显示的主要内容,如果未能解决你的问题,请参考以下文章