在jsp页面中显示xml内容

n9vozmp4  于 12个月前  发布在  其他
关注(0)|答案(5)|浏览(140)

下面是我正在使用的jsp页面:

<body>
    <%

     String schema=(String)request.getAttribute("schema");
    if(schema!=null)
    {

    **out.println(schema);**
    }
    else
    out.println("no schema found");

    %>
    </body>

字符串
“out.println();”未在浏览器中显示xml内容。
shcmea的含量为:

<?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)\d\d) ((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">
                            <xsd:maxLength value="4"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
                <xsd:element name="CustomerType">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:enumeration value="R"/>
                            <xsd:enumeration value="B"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
            </xsd:sequence>
            <xsd:attribute name="clientIndicator" use="required">
                <xsd:simpleType>
                    <xsd:restriction base="ClientIndicatorType">
                        <xsd:enumeration value="Wireless_BDS"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
            <xsd:attribute name="OverridePriorityString" use="optional">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:string">
                        <xsd:enumeration value="E"/>
                        <xsd:enumeration value="A"/>
                        <xsd:enumeration value="S"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
            <xsd:attribute name="Languageid" use="optional">
                <xsd:simpleType>
                    <xsd:restriction base="xsd:string">
                        <xsd:enumeration value="EN"/>
                        <xsd:enumeration value="ES"/>
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:attribute>
        </xsd:complexType>
    </xsd:element>
</xsd:schema>


我关心的是如何在浏览器中显示XML模式变量的内容?

jei2mxaa

jei2mxaa1#

停止在JSP中使用scriptlet。了解如何使用JSP ELJSTL
完成后,使用JSTL <c:out>标记,它可以转义特殊字符,如<>&"',以便它们正确地出现在页面中,而不会被浏览器解释为不正确的HTML标记。您的代码将简单地变为:

<body>
    <c:out value="${schema != null ? schema : 'no schema found'}"/>
</body>

字符串

6yjfywim

6yjfywim2#

使用

<%@ page contentType="text/xml" %>

字符串
在你的jsp页面中,它不会解析XML,而是直接显示XML。

uklbhaso

uklbhaso3#

试试URLEncoder.encode
你需要这个:<%@ page import="java.net.URLEncoder" %>
然后你可以做:URLEncoder.encode(schema)
我的情况是调用一个jsp作为web应用程序的端点。我想发送http://host.com/getFile?path=path\text.xml,我希望返回text.xml的内容。但是我得到了空格。
我后来意识到这是因为<之类的东西会让jsp认为String是jsp指令,而通过将文本 Package 在URLEncoder.encode()中,它会将其视为需要打印的文本。
然后在js端,我使用decodeURIComponent(val).replaceAll('+',' ')(因为如果不使用java,那就太麻烦了)解码消息,然后得到一个字符串,可以在文本区域或其他地方显示。

wlsrxk51

wlsrxk514#

JSP会自动解析XML。所以你需要改变jsp的内容类型。请使用这个..<%@ page contentType=“text/xml”%>

p3rjfoxz

p3rjfoxz5#

让我告诉你这个场景:我有一个jsp页面,我在其中搜索数据,并在同一个JSP页面中获取XML值和其他数据,当用户选择任何一行,那么xml值应该显示在新窗口.(我把它隐藏在jsp页面中)在页面中,但是当我把它传递到JavaScript函数中在新页面中打开时,它就不起作用了。
XML的例子:
注意-->我必须显示XML,因为它是所有的标签和模式信息。
希望这能澄清...

相关问题