首先,请允许我说,我认识到将 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 输出如下所示:
这是在 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<\/a>","time":"2015-12-16 15:51:33.0"}]
请注意
<\/a>
谁能给我一些提示,告诉我如何在包含从数据库中获取的数据的 jsonArray 中正确格式化 html 标签?
谢谢!
最佳答案
将其转化为答案。
将您的响应类型设置为 application/json
而不是 text/html
应该可以解决问题。
关于java - 如何将带有html元素的jsonArray输出到JSP中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34325267/