3

我用 spring mvc 3 框架创建了一个 portlet(jsr286)。如果页面具有 SSA(服务器端聚合),则工作正常,但是在使用 CSA(客户端聚合)时它会停止工作。

我正在使用 WPS 7.0 RAD 8.0.1 和 spring 3.0.1。任何建议都会非常有帮助。提前致谢!

我得到的错误:[2/8/11 18:09:41:750 IST] 00000037 PortletInvoke W com.ibm.wps.wsrp.producer.provider.pc.waspc.impl.PortletInvokerImpl newBlockingInteractionResponse 操作执行被拒绝,原因是违反安全规定。缺少操作 ID。[2/8/11 18:09:41:781 IST] 00000037 WSRPEngine E com.ibm.wps.wsrp.producer.impl.WSRPEngine performBlockInteraction EJPWC1109E: 操作的正常执行失败。com.ibm.wps.wsrp.exception.WSRPException: EJPWC1109E: 操作的正常执行失败。

4

1 回答 1

2

我在 WPS 7 中遇到了同样的问题,查看了 portlet 页面 html 源代码,表单操作属性值是一个 Websphere Portal javascript,其中对 portlet 操作 URL 进行了编码。这个解决方案是将spring form标签的htmlEscape属性设置为false来禁用html转义,这样portal引擎就可以正确编码action URL。

该解决方案在 Websphere Portal 7.0.0.2 中使用 WAS Application Server 7.0.0.21 和 Spring MVC 3.1.0 进行了验证。

于 2012-06-13T19:26:02.340 回答