[英]portal:actionURL Spring MVC Portlet
我正在尝试使用以下代码创建一个actionUrl
<portlet:actionURL var="actionUrl"><portlet:param name='action' value='viewModules' /></portlet:actionURL>
并将其映射到弹簧控制器上
但是,控制器不会响应,因为生成的URL的“&”号已编码
例如
<snip>&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=2</snip>
如果我取消编码并将其粘贴到浏览器中,则可以正常工作
我已将portlet.url.escape.xml = false添加到portal-ext.properties,但没有可用
可以请我指出正确的方向吗
非常感谢
我刚刚从同事那里得到了这个消息。
显然,Portlet 2.0更改了URL的状态,并声明默认情况下必须对其进行转义。 (以前没有规则,而且似乎有几个门户网站是在不转义的情况下实现它们的。)转义的URL在大多数情况下都可以正常工作……但并非在每种情况下(例如在JavaScript中使用时)都可以。
对于这些情况,标记的2.0版本提供了escapeXml="false"
属性。 这是一个例子:
<portlet:renderURL var="enterAlertUrl" escapeXml="false">
<portlet:param name="action" value="enterAlert"/>
<portlet:param name="studentId" value="STUDENTID"/>
<portlet:param name="courseId" value="COURSEID"/>
</portlet:renderURL>
此renderURL将为您提供一个URL字符串,参数之间没有 URL编码的“&”号。
在表单操作中,我使用:
<portlet:actionURL var="send" escapeXml="false"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.