私が理解しているように、次のページに渡したい JavaScript パラメーターがいくつかあります。ただし、PortletSession の APPLICATION_SCOPE を使用してそれを行うことはできます。入力に値を配置することで、JS パラメータを Java に変換する問題を解決できます。これらの入力変数がユーザーによって書き込まれることが想定されておらず、別の場所からそれらを取得する場合は、入力を非表示にすることができます。
あなたのjspで:
<form>
<input type="hidden" id="myinput1" name="in1" value="">
<input type="hidden" id="myinput1" name="in2" value="">
</form>
<script>
var a = "avalue";
var b = "bvalue";
document.getElementById("myinput1").value=a;
document.getElementById("myinput2").value=b;
</script>
その後、必要なときにフォームを送信します。次に、ポートレットの ProcessAction メソッドで次のように実行できます。
String a= request.getParameter("in1");
String b= request.getParameter("in2");
PortletSession session = request.getPortletSession();
session.setAttribute("a", a , PortletSession.APPLICATION_SCOPE);
session.setAttribute("b", b , PortletSession.APPLICATION_SCOPE);
他のポートレットでは、呼び出すことで見つけることができます
session.getAttribute("a",PortletSession.APPLICATION_SCOPE);
これはもちろん、次のページの URL に単純に配置できない場合です。