java - 如何将带有html元素的jsonArray输出到JSP中

标签 java html mysql jsp

首先,请允许我说,我认识到将 html 保存在 MySQL 数据库中并不理想。但这就是它的设置方式,我只需要接受它并使用现有设置即可。

所以这是我的问题。

我有一个包含“消息”和“时间”列的“消息”表。

这些是一些示例值,仅用于演示目的:

数据库: “消息”栏:

You've received an appraisal from xyz re something in the amount of $1,2000.<br><a class='lnk' href='http://www.website.com/somepage.jsp?r=393'>View some page</a>

“时间”栏:

2015-12-16 15:51:33.0

我可以检索 java 类中的值并将结果集数据转换为 jsonArray。

如果我 sysout jsonArray,我可以看到表中的值或多或少正确显示。

System.out.println("jsonArray: " + jsonArray);

输出:

 jsonArray: [{"message":"You've received a message from xyz re something in the amount of $1,200.<br><a class='lnk' href='http://www.website.com/somepage.jsp?r=393'>View some page<\/a>","time":"2015-12-16 15:51:33.0"}]

我正在努力解决两个问题:

1) 返回 html 标签而不在输出中转义

请注意上面 jsonArray 中的转义结束标记:。有没有办法在不转义的情况下检索它?

2) 在 jsp 中返回正确格式化和转义的 jsonArray。

我希望 JSP 返回 jsonArray,但我运气不好,无法正常工作 更具体地说,我尝试了以下两种方法在我的 jsp 页面上输出 jsonArray:

out.print(jsonArray);

out.println(jsonArray.toString());

但在这两种情况下,转义的结束标记似乎都会引起问题。 jsp 输出如下所示:

enter image description here

这是在 jsp 中生成的代码。

[{"message":"You've received an appraisal from xyz re something in the amount of $1,2000.<br><a class="lnk" href="http://www.website.com/somepage.jsp?r=393">View some page&lt;\/a&gt;","time":"2015-12-16 15:51:33.0"}]

请注意

   &lt;\/a&gt;

谁能给我一些提示,告诉我如何在包含从数据库中获取的数据的 jsonArray 中正确格式化 html 标签?

谢谢!

最佳答案

将其转化为答案。

将您的响应类型设置为 application/json 而不是 text/html 应该可以解决问题。

关于java - 如何将带有html元素的jsonArray输出到JSP中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34325267/

相关文章:

java - AdView 阻塞 UI 线程

java - Java SDK 的 log4j2 日志记录

mysql - 从多个表mysql中查找最近的日期

java - 如何使用 opencsv 验证 csv header

html - 带容器的全宽背景(不是容器-流体)

php - 在彼此 HTML/CSS 下对齐表单

javascript - 保护页面的最简单的安全形式

php - MySQLi 对象问题

Mysql 1 1 计数

java - 如何涂黑一个Swing组件?