0
"domain"というモデルに格納されているオブジェクトは、getDescriptionEn()とgetDescriptionFr()という2つのメソッドを持っています。ヘルプが必要ですモデルから値を取得するためにjavascriptでELを使用する
現在のロケールに応じて説明が必要です。ここで
は私の問題であり、私は次のようしている:
var locale = "${currentLocale}"; // This returns either "En" or "Fr"
var method = "{domain.getDescription".concat(locale).concat("}"); // This is "{domain.getDescriptionEn}" or "{domain.getDescriptionFr}"
var expr = "$".concat(method); // This is going to be "${domain.getDescriptionFr}"
を今私はこのexpressoinを評価したいと思いますが、動作するようには思えません。
var method = "domain.getDescription".concat(locale); // This is "domain.getDescriptionEn" or "domain.getDescriptionFr"
var expr = "${".concat(method).concat("}");
ロケールに応じてdomain.getDescriptionEnまたはdomain.getDescriptionFrにアクセスする必要がありますが、JavaScript関数内からJSPからアクセスする必要があります。 –
しかし、JSPコードはクライアントに送信される前にサーバーで実行され、サーバーによって応答(すべてのJSPコードがすでに実行されている)が受信された後で、クライアントによってJavaScriptが実行されることがわかります。 説明でJS内にvarが必要な場合は、次のようにすることができます。var description = <%= domain.getDescription(currentLocale)%>; –
はい、わかりました。ご協力いただきありがとうございます –