【问题标题】:Get message in jquery - Dynamic Key在 jquery 中获取消息 - 动态密钥
【发布时间】:2012-08-27 12:28:58
【问题描述】:

在我的 jsp 中,当我选择一个选项时,我会显示一条消息,这条消息是从属性文件中加载的。例如:

在我拥有的道具中:

 msg.01=Message 1
 msg.02=Message 2
...

在 Jquery 代码中,我得到了所选选项的值:

 $("#optionId').val()

并且使用 Struts bean:message 标签:

alert("<bean:message 
bundle='Message'`key='msg."+$("#clientTypeId').val()"+'/>");

显示的警报消息总是:

???en.msg.0x??? (x is 0 or 1 or ...)

请对我的问题有任何想法?

谢谢!

【问题讨论】:

  • 请务必使用特定标签标记问题,否则将无法得到适当的关注

标签: jsp struts jstl


【解决方案1】:

执行 Javascript 时不能使用 JSTL。我要做的是使用 JSTL 生成一个 Javascript 对象,例如:

<script type="text/javascript">
  var messages = {
  <c:forEach begin="0" end="20" var="n" varStatus="s">
    ${s.first ? '' : ', '}
    <c:set var="key" value="${n gt 9 ? '' : '0'}${n}"/>
    <fmt:message key="msg.${key}" var="msg"/>
    "<c:out value="${key}"/>": "<c:out value="${msg}"/>"
  </c:forEach>
  };
</script>

现在您可以从 Javascript 对象中获取消息:

alert(messages[$("#clientTypeId").val()]);

【讨论】:

    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 2016-09-22
    • 2016-06-08
    • 2019-08-16
    • 1970-01-01
    • 2022-01-28
    • 2015-01-27
    相关资源
    最近更新 更多