我从数据库中获取字符串并将其转发到jsp页面以显示该字符串。 Sting的内容是:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://edd.att.com/cnmeddservice" targetNamespace="http://edd.att.com/cnmeddservice"
elementFormDefault="qualified">
<xsd:include schemaLocation="EDD_DataTypes.xsd" />
<xsd:include schemaLocation="EDD_Internal_DataTypes.xsd" />
<xsd:element name="RET_MAIL">
<xsd:annotation>
**
<xsd:documentation>Represents the eddbdsbatch request for
RET_MAIL</xsd:documentation>
**
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="AccountNumber">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="15" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="cType">
<xsd:simpleType>
<xsd:restriction base="CtypeType">
<xsd:enumeration value="RET_MAIL" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="RequestId">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:pattern value="[0-9]{1,9}" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="BillingId" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="12" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="BillingRegion" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S" />
<xsd:enumeration value="P" />
<xsd:enumeration value="B" />
<xsd:enumeration value="A" />
<xsd:enumeration value="N" />
<xsd:enumeration value="W" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="BillIndicator" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="LS" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="EmailAddress" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="75" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="AccountBalance"
minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="DecimalAmountType">
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="BillAmount" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="DecimalAmountType">
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DateLastchecked"
minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern
value="((0[1-9]|1[012])/(0[1-9]|[12][0-9]|3[01])/(19|20)dd) ((0[0-9]|1[0-9]|2[0-4]):([0-5][0-9]):([0-5][0-9]))" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PaymentDueDate"
minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="DateType" />
</xsd:simpleType>
</xsd:element>
<xsd:element name="ctn">
<xsd:simpleType>
<xsd:restriction base="ContactNumberType">
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="AlternateCTN" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="AltPhoneExtension"
minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
下面是获取此代码并将其转发到jsp的代码。
System.out.println(obj.getSchema());
此处内容将按原样显示。
request.setAttribute("schema", obj.getSchema());
RequestDispatcher view = request.getRequestDispatcher("result.jsp");
view.forward(request, response);
在jsp中我有以下代码:
String schema=(String)request.getAttribute("schema");
if(schema!=null)
{
out.println(schema);
}
else
out.println("no schema found");
在jsp中,显示的内容仅为表示我在上面的字符串内容中突出显示的RET_MAIL 的eddbdsbatch请求。 我不明白为什么没有在jsp中显示完整的内容。
答案 0 :(得分:1)
使用CDATA - (未分析)字符数据。解析器将忽略CDATA部分内的文本。返回CDATA中包含的xml内容。
<![CDATA[xml content]]>
答案 1 :(得分:0)
如果您从浏览器中查看HTML源代码。
尝试将其置于<pre>
代码之间或使用HTML / XML转义(“&lt;” - &gt;“&lt;”,“&gt;” - &gt;“&gt;”等)。
但是,如果您的XML要由浏览器之外的其他内容处理,那么它的格式已经正确。