繁体   English   中英

portal:actionURL Spring MVC Portlet

[英]portal:actionURL Spring MVC Portlet

我正在尝试使用以下代码创建一个actionUrl

<portlet:actionURL var="actionUrl"><portlet:param name='action' value='viewModules' /></portlet:actionURL>

并将其映射到弹簧控制器上

但是,控制器不会响应,因为生成的URL的“&”号已编码

例如

<snip>&amp;p_p_lifecycle=1&amp;p_p_state=normal&amp;p_p_mode=view&amp;p_p_col_id=column-1&amp;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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM