0

在我的 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 ...)

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

谢谢!

4

1 回答 1

2

执行 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()]);
于 2012-09-19T22:49:45.257 回答