首先,请允许我说我认识到在MySQL数据库中保存的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标签而不在输出中转义
请注意转义的结束标记:&lt; / a&gt;在上面的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标签,其中包含从数据库中提取的数据吗?
谢谢!
答案 0 :(得分:1)
将此转化为答案。
将您的回复类型设置为application/json
,而不是text/html
应该这样做。