我有一个存储在名为“domain”的模型中的对象,它有两个方法,getDescriptionEn()和getDescriptionFr()。
我需要根据当前区域设置进行描述。
这是我的问题,我有以下内容:
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}"
现在我想评估一下这个表达,但它似乎不起作用。
我尝试过多种方式解析字符串,
我也尝试过:
var method = "domain.getDescription".concat(locale); // This is "domain.getDescriptionEn" or "domain.getDescriptionFr"
var expr = "${".concat(method).concat("}");
答案 0 :(得分:2)
当您的javascript有机会在客户端上运行时,JSP已经被评估(以及任何EL),您将无法以这种方式访问模型。
但是,您可以直接在JSP中执行所有操作。使用${pageContext.request.locale}
访问客户端请求的区域设置并将其传递给您的方法。