整个字符串内容未在jsp中显示

时间:2013-11-30 07:13:39

标签: java jsp servlets

我从数据库中获取字符串并将其转发到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中显示完整的内容。

2 个答案:

答案 0 :(得分:1)

使用CDATA - (未分析)字符数据。解析器将忽略CDATA部分内的文本。返回CDATA中包含的xml内容。

<![CDATA[xml content]]>

答案 1 :(得分:0)

如果您从浏览器中查看HTML源代码。

尝试将其置于<pre>代码之间或使用HTML / XML转义(“&lt;” - &gt;“&lt;”,“&gt;” - &gt;“&gt;”等)。

但是,如果您的XML要由浏览器之外的其他内容处理,那么它的格式已经正确。