我可以帮您翻译成中文。这段内容是关于JSP页面检索数据时,如果数据中包含单引号或双引号,则会显示为该符号的问题。
JSP代码:
示例:订单描述应该像这样:
"20 - 4" x 6"小部件"
但我得到了这个:
"20 - 4 x 6小部件"
注意:我不能对数据库进行修改。
[编辑]
我使用commons-lang-2.4.jar转义字符,这些是主要给我麻烦的字符:
1.‘->‘ 2.’->’ 3.“->“ 4.”->” 5.–->–
我确定在相同格式中的其他字符会给我带来问题,但是我只是替换了字符以进行临时修复,现在正在测试下面的建议。
[解决方案代码]
这可能不是最好的方法,但它完成了工作。以下代码位于数据从数据库检索后的支持bean中。
JSP代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>General</title>
</head>
<body>
<h1> <%= order.getDescription %> </h1>
</body>
</html>
示例:订单描述应该像这样:
"20 - 4" x 6"小部件"
但我得到了这个:
"20 - 4 x 6小部件"
注意:我不能对数据库进行修改。
[编辑]
我使用commons-lang-2.4.jar转义字符,这些是主要给我麻烦的字符:
1.‘->‘ 2.’->’ 3.“->“ 4.”->” 5.–->–
我确定在相同格式中的其他字符会给我带来问题,但是我只是替换了字符以进行临时修复,现在正在测试下面的建议。
[解决方案代码]
这可能不是最好的方法,但它完成了工作。以下代码位于数据从数据库检索后的支持bean中。
description = StringEscapeUtils.escapeHtml(description);
description = description.replaceAll("‘", """);
description = description.replaceAll("’", """);
description = description.replaceAll("“", """);
description = description.replaceAll("”", """);
description = description.replaceAll("–", "-");
description = StringEscapeUtils.unescapeHtml(description);