在JSP页面中我有这个用于在Liferay中制作AJAX请求:
PortletURL portletURL = response.createRenderURL();
portleturl.setWindowState(LiferayWindowState.EXCLUSIVE);
我将此portletURL
作为url传递给下面的JQuery函数
jQuery.ajax({
type: "POST",
url: portleturl ,
success: function(msg) {
alert( "Data Saved: " + msg );
}
});
这是我在struts.xml
文件中的动作映射:
<action name="helloForm" class="com.action.Struts2Action">
<result name="input">/WEB-INF/view/index.jsp</result>
<result name="success">/WEB-INF/view/result.jsp</result>
</action>
现在请告诉我如何将名为helloForm
的操作设置为portletURL
?
答案 0 :(得分:0)
在Liferay的代码中很常见。例如,在this JSP file中,使用
定义的参数创建链接<portlet:param name="struts_action" value="/asset_publisher/edit_subscription" />
(指向巨大的Liferay struts-config.xml
文件中的action mapping。)
所以,我想你只需要以相同的方式为你的URL添加一个参数,唯一的区别就是用PortletURL
对象:
PortletURL portletURL = response.createRenderURL();
portleturl.setWindowState(LiferayWindowState.EXCLUSIVE);
portletURL.setParameter("struts_action", "helloForm");