在我的jsp中,当我选择一个选项时,我会显示一条消息,此消息是从属性文件加载的。例如:
在道具中我有:
msg.01=Message 1
msg.02=Message 2
...
在Jquery代码中,我得到所选选项的值:
$("#optionId').val()
使用Struts bean:message tag:
alert("<bean:message
bundle='Message'`key='msg."+$("#clientTypeId').val()"+'/>");
显示的警告信息始终为:
???en.msg.0x??? (x is 0 or 1 or ...)
请知道我的问题吗?
谢谢!
答案 0 :(得分: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()]);