将JSF升级到2.2后,将xml作为applet参数传递



在使用JSF 2.1时,我将xml文档字符串作为java小程序参数传递。当我在Java Applet中调用getParameter时,函数返回了整个文档字符串。在将JSF升级到2.2。getParameter只返回文档<?xml version=的前缀。

xhtml文件:

<f:verbatim>
    <object type="application/x-java-applet" width="300" height="300">
         <param name="archive" value="#{someBean.appletUrl}" />
         <param name="code" value="somePackage.someClass" />
         <param name="permissions" value="all-permissions" />
         <param name="xmlParam" value="#{someBean.xmlParam}" />
    </object>
</f:verbatim>

函数getXmlParam返回未转义的字符串,有效的xml文档:

<?xml version="1.0" encoding="UTF-8"><someTag someAttribute="attrValue"> someValue </someTag>

使用JSF 2.1:时呈现的html

<object type="application/x-java-applet" width="300" height="300">
    <param name="archive" value="http://someURL/applet.jar">
    <param name="code" value="somePackage.someClass">
    <param name="permissions" value="all-permissions">
    <param name="xmlParam" value="<?xml version="1.0" encoding="UTF-8"><someTag someAttribute="attrValue">someValue</someTag>">
</object>

升级到JSF 2.2:后呈现的html

<object type="application/x-java-applet" width="300" height="300">
    <param name="archive" value="http://someURL/applet.jar">
    <param name="code" value="somePackage.someClass">
    <param name="permissions" value="all-permissions">
    <param name="xmlParam" value="<?xml version=" 1.0"="" encoding="UTF-8" ?&gt;="" &lt;someTag="" someAttribute="attrValue" &gt;="" someValue ="" sometag&gt;"="">
</object>

正如我所看到的,这个问题一定和JSF 2.2中粘贴到html的字符串中转义引号的方法的改变有关。有人知道如何在JSF 2.2中以优雅的方式(无需在bean中手动编码和在applet中解码)将xml文档作为applet参数传递吗?

您可以设置一个关于xml归档的url,首先在某个地方编写该归档,在小程序中连接到url并编写归档

最新更新