【问题标题】:Whole String Content is not getting displayed in jsp整个字符串内容没有在jsp中显示
【发布时间】:2013-11-30 07:13:38
【问题描述】:

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

【问题讨论】:

    标签: java jsp servlets


    【解决方案1】:

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

    <![CDATA[xml content]]>
    

    【讨论】:

      【解决方案2】:

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

      尝试将其放在&lt;pre&gt; 标记之间或使用 HTML/XML 转义符(““”->“>”等)。

      但是,如果您的意思是您的 XML 由浏览器以外的其他东西处理,那么它已经是正确的格式。

      【讨论】:

      • “试着把它放在
         标签之间”意味着当我使用 out.println 时在 jsp 中?
      • 是的,假设您使用的是 HTML 输出,这将是默认设置。您没有显示完整的 jsp,所以这只是一个猜测。
      猜你喜欢
      • 1970-01-01
      • 2012-06-03
      • 1970-01-01
      • 2012-07-29
      • 1970-01-01
      • 2015-05-19
      • 2017-09-09
      • 1970-01-01
      • 2016-11-14
      相关资源
      最近更新 更多