gpt4 book ai didi

java - 如何将struts.xml中定义的Struts2 Action设置为PortletURL

转载 作者:行者123 更新时间:2023-12-01 05:22:18 24 4
gpt4 key购买 nike

在 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

最佳答案

在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");

关于java - 如何将struts.xml中定义的Struts2 Action设置为PortletURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10192342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com