在使用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" ?>="" <someTag="" someAttribute="attrValue" >="" someValue ="" sometag>"="">
</object>
正如我所看到的,这个问题一定和JSF 2.2中粘贴到html的字符串中转义引号的方法的改变有关。有人知道如何在JSF 2.2中以优雅的方式(无需在bean中手动编码和在applet中解码)将xml文档作为applet参数传递吗?
您可以设置一个关于xml归档的url,首先在某个地方编写该归档,在小程序中连接到url并编写归档