我的一位朋友让我看看他正在开发的portlet。 他遇到的问题是当他输入像
这样的值时1< 2> 3
在输入字段中
1< 2> 3
在映射的字符串字段中。
虽然他的代码中有一小部分是可疑的,但我找不到他使用.replace
函数/设置defaultHtmlEscape
为真的任何实例。
我调试了他的portlet,它甚至在进入Controller之前就已经改变了。 我在Springs dispatcherportlet中设置了一个断点,在processAction中它已经被转换了。
>
只有在<
之前才被解析为<
所以它很可能是一个转义问题,因为它被处理为html标记,但我找不到任何代码影响那个。
我不熟悉Spring 2.5.6(我使用的是版本3),但我不记得任何类似的问题。 这可能是websphere portal 6.1的一个问题,但这会让我感到惊讶,因为我找不到任何类似的问题。 (我明天会尝试制作类似的场景)。
任何意见都会受到赞赏。
(春季2.5.6-SEC02,没有最新功能包的WebSphere Portal 6.1)
答案 0 :(得分:1)
转义XML是指将&, >, <
等特殊字符转换为&, >, <,
等字符实体代码。如果portlet依赖于portlet标记库生成的URL(非XML转义),则将此容器运行时选项设置为false。在Portlet 2.0规范中,默认情况下,portlet标记库生成的所有URL都是XML转义的。
你的朋友应该在他的portlet JSP中有一些转义功能,如下面的
<portlet:resourceURL var="inputURL" id="userValues" escapeXml="false" />