从数据库中获取的值未显示

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"));

【讨论】:

以上是关于从数据库中获取的值未显示的主要内容,如果未能解决你的问题,请参考以下文章

数据库中的值未插入codeIgniter?

Altair 彩色条形图按值未显示

通过 tkinter 登录页面提交的值未反映在数据库中

Python:函数返回的值未在熊猫数据框中更新

可选类型“UIImage?”的值未打开

Flutter/Dart - 文本值未正确显示