Spring 2.5.6 / WPS 6.1:<在输入字段中变为<在映射的字段中

时间:2011-01-21 20:37:59

标签: spring spring-mvc websphere-6.1 websphere-portal

我的一位朋友让我看看他正在开发的portlet。 他遇到的问题是当他输入像

这样的值时
  

1< 2> 3

在输入字段中

  

1< 2> 3

在映射的字符串字段中。

虽然他的代码中有一小部分是可疑的,但我找不到他使用.replace函数/设置defaultHtmlEscape为真的任何实例。

我调试了他的portlet,它甚至在进入Controller之前就已经改变了。 我在Springs dispatcherportlet中设置了一个断点,在processAction中它已经被转换了。

>只有在&lt;之前才被解析为<所以它很可能是一个转义问题,因为它被处理为html标记,但我找不到任何代码影响那个。

我不熟悉Spring 2.5.6(我使用的是版本3),但我不记得任何类似的问题。 这可能是websphere portal 6.1的一个问题,但这会让我感到惊讶,因为我找不到任何类似的问题。 (我明天会尝试制作类似的场景)。

任何意见都会受到赞赏。

(春季2.5.6-SEC02,没有最新功能包的WebSphere Portal 6.1)

1 个答案:

答案 0 :(得分:1)

转义XML是指将&, >, <等特殊字符转换为&amp;, &gt;, &lt;,等字符实体代码。如果portlet依赖于portlet标记库生成的URL(非XML转义),则将此容器运行时选项设置为false。在Portlet 2.0规范中,默认情况下,portlet标记库生成的所有URL都是XML转义的。

你的朋友应该在他的portlet JSP中有一些转义功能,如下面的

 <portlet:resourceURL var="inputURL" id="userValues" escapeXml="false" />