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 に答える