1

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

4

1 に答える 1

0

Liferayのコードではよくあることです。たとえば、この JSP ファイルでは、次のパラメータで定義されたリンクが作成されます。

<portlet:param name="struts_action" value="/asset_publisher/edit_subscription" />

(これは、巨大な Liferay ファイル内のこのアクション マッピングを指していstruts-config.xmlます)。

したがって、同じ方法で URL にパラメーターを追加するだけでよいと思いますが、PortletURLオブジェクトでそれを行うという唯一の違いがあります。

PortletURL portletURL = response.createRenderURL();
portleturl.setWindowState(LiferayWindowState.EXCLUSIVE);
portletURL.setParameter("struts_action", "helloForm");
于 2013-03-27T14:45:37.113 に答える