私のアプリはKendoUIグリッドをユーザービューで使用しますが、Xpagesはフォームページのカスタムコントロールを使用しています。KendoUIグリッドでsessionScope変数を設定するとエラーが発生します。
XpageはsessionScope変数を検索して、新しい文書(範囲Varにはない)または更新(unidはvarにあります)かどうかを判断します。
<xp:this.data>
<xe:objectData
saveObject="#{javascript:PCModel.save()}"
var="PCModel">
<xe:this.createObject><![CDATA[#{javascript:var pc = new com.scoular.model.PC();
var unid = sessionScope.get("key");
if (unid != null) {
pc.loadByUnid(unid);
sessionScope.put("key","");
viewScope.put("readOnly","Yes");
} else {
pc.create();
viewScope.put("readOnly","No");
}
viewScope.status = pc.status;
return pc;}]]></xe:this.createObject>
</xe:objectData>
</xp:this.data>
これは完全にXpageアプリで使用できました。私はちょうどsessionScopeキーに値を入れ、Xpageを呼び出しました。
剣道のUIコードでは、クライアントサイドのJavaScriptを使用していますが、sessionScopeを設定する方法はありません。
私はURLを制御することができるので、ギアを切り替えて使用することができますが、アプリケーションのデータは自分のコードとは異なるDBにあります。
ご協力いただければ幸いです。
と設定します。私は若干の変更を加えました。 var unid = params.keyをvar unid = context.getUrlParameter( "key")に変更しました。それは完全に機能します。ありがとう! –
あなたの右のパラメータは間違っています。それはparamでなければなりません。私は自分の答えを更新しました。 –