jsp
  • struts
  • jstl
  • 2012-08-27 50 views 0 likes 
    0

    在我的jsp中,當我選擇一個選項時,會顯示一條消息,此消息是從屬性文件加載的。例如:在jquery中獲取消息 - 動態密鑰

    在道具我:

    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 ...)

    請問我有什麼問題嗎?

    謝謝!

    +0

    是它的struts2或支柱? –

    +0

    這是Struts – Mohamed

    +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()]); 
    
    相關問題