【问题标题】:Need help Using EL in javascript to get value from model需要帮助 在 javascript 中使用 EL 从模型中获取价值
【发布时间】:2012-03-23 17:03:39
【问题描述】:

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

【问题讨论】:

    标签: java javascript jsp el


    【解决方案1】:

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

    但是,您可以直接在 JSP 中做所有您想做的事情。使用${pageContext.request.locale} 访问客户端请求的语言环境并将其传递给您的方法。

    【讨论】:

    • 我需要根据语言环境访问 domain.getDescriptionEn 或 domain.getDescriptionFr,但我需要从 JSP 访问,从 javascript 函数中访问。
    • 但是您意识到您的 JSP 代码在发送到客户端之前在服务器中运行,并且 javascript 在客户端收到响应后由客户端执行(所有 JSP 代码已经由服务器执行)。如果您需要 JS 中带有描述的 var,您可以执行以下操作: var description = ;
    • 好的,我明白了。感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多