言語ポートレットから言語を変更すると、ユーザーは最後の URL にリダイレクトされます。URL が actionRequest に対応する場合、そのアクションが 2 回トリガーされます。
liferay 6.1 GA2で、クラシックテーマを使用して、次の簡単なコードを試しました
ビュー.jsp:
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects />
<portlet:actionURL name="myProcessAction" var="myProcessActionURL" />
<a href="<%= myProcessActionURL %>">my process action</a>
<form action="<%= myProcessActionURL %>" method="post">
<input type="submit" />
</form>
testportlet.java:
public class TestPortlet extends MVCPortlet {
public void myProcessAction(ActionRequest actionRequest,
ActionResponse actionResponse) throws IOException, PortletException {
_log.info("processing action");
}
private static Log _log = LogFactoryUtil.getLog("TestPortlet");
}
テスト ポートレットと言語ポートレットを新しいページに追加します。
フォームを送信 -> ログに「処理アクション」が表示されます言語を切り替えます -> ログに「処理アクション」が再度表示されます!
よろしく、 アラン