0

我有一个 Java String mailContent 作为

<p><span style="background-color: #ff6600; font-family: arial black,avant garde; font-size: large;">Testing Correct Formatting</span></p>

在发送到浏览器之前,我在 jsp 中使用方法 formatString 和 formatParagraph 对其进行编码。Jsp代码如下

<td valign="center" >
<%=StringFormat.formatParagraph(StringFormat.formatString(mailContent,StringFormat.ALL))%>
 </td>

现在使用上面的代码片段,我看到它只是打印为纯文本(作为 mailContent 的值)而不是带有 html 标签的文本。因此,我看不到格式化的 HTML 内容,如字体大小、背景颜色、字体系列等。如果只是使用下面的代码,它会显示格式化的 html 内容,因为我现在没有对文本进行编码。

 <td valign="center" >
 <%=mailContent%>
 </td>

现在我如何让浏览器将编码的内容解释为 html 标签,因为我不想删除编码?

有关信息,在浏览器端,当我查看源代码时,我会在下面看到它已被编码

 &lt;p&gt;&lt;span style=&quot;background-color: #ff6600; font-family: arial black,avant garde; font-size: large;&quot;&gt;Testing Correct Formatting&lt;/span&gt;&lt;/p&gt;<br/><br/>
4

2 回答 2

1

浏览器使用名为 的 HTTP 标头来决定内容类型Content-Type。您应该发送内容类型值text/html。您现在正在发送text/plain,因此浏览器将内容视为纯文本。

请在此处查看更多详细信息。

于 2012-05-08T09:38:35.473 回答
0
<%@ page contentType="text/html; charset=iso-8859-1" language="java"  %>



<%
request.setAttribute("Att","<p><span style=\"background-color: #ff6600; font-family: arial black,avant garde; font-size: large;\">Testing Correct Formatting</span></p>");
%>
<%= request.getAttribute("Att")%>

In place of value in setAttrbiute you can pass your string object.
于 2012-05-08T10:05:09.203 回答