需要帮助在javascript中使用EL从模型中获取价值

时间:2012-03-23 17:03:39

标签: java javascript jsp el

我有一个存储在名为“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("}");

1 个答案:

答案 0 :(得分:2)

当您的javascript有机会在客户端上运行时,JSP已经被评估(以及任何EL),您将无法以这种方式访问​​模型。

但是,您可以直接在JSP中执行所有操作。使用${pageContext.request.locale}访问客户端请求的区域设置并将其传递给您的方法。