【问题标题】:Use spring:message from JavaScript使用来自 JavaScript 的 spring:message
【发布时间】:2013-05-24 22:53:44
【问题描述】:

我有一个在 JSP 中动态添加表的 JQuery 函数:

$('#add').click(function(event) {

    event.preventDefault();

$('.tabela_procurador').before
    ('<table id="tabela_nova' + i + '" class="tabela_nova"> ' +
        '<tr> ' +
            '<td colspan="4" class="subTitulo_barra"> ' +
            '<spring:message code="representante_legal" /> '+ i +' ' +
            '</td> ' +
        '</tr> ' +
      '</table>');
     i++
   });
});

但是当我添加这个表时,我丢失了 spring:message。

我可以做些什么来让 jquery 识别这个春天:消息?

【问题讨论】:

标签: javascript jquery spring call message


【解决方案1】:

作为一种解决方法,将消息值放在 jsp 页面上的隐藏输入中。然后在你的 javascript 中获取它的值。在你的情况下:

<c:set var="val"><spring:message code="representante_legal"/></c:set>
<input id="representante_legal" type="hidden" value="${val}"/>

在您的 javascript(使用 jquery)中,您可以按如下方式使用它:

$('#representante_legal').val()

【讨论】:

  • 没有jquery标签怎么办?
  • @ishanbakshi document.getElementById("representative_legal').value
【解决方案2】:

jQuery 无法访问spring 标记。 spring:message 在页面发送到客户端之前在服务器端处理,javascript/jQuery 稍后在客户端处理。

【讨论】:

    【解决方案3】:

    确保&lt;spring:message code="representante_legal" /&gt; 在 JSP 中,如果该标签在 javascript 文件中,它永远不会被翻译成本地化字符串。

    JSP 文件在发送到请求客户端之前进行编译,而 javascript 作为静态内容提供。

    【讨论】:

    • 感谢回复,spring:message 在 js 文件中,所以它不起作用。
    【解决方案4】:

    在您的 JSP 中,您可以将 spring:message 分配给一个 javascript 变量,以供您的其他 jQuery 代码使用:

    # In .JSP
    <script type="text/javascript">
      var abc="<spring:message code="representante_legal"/>";
    </script>
    

    【讨论】:

      猜你喜欢
      • 2013-06-09
      • 1970-01-01
      • 2011-07-13
      • 1970-01-01
      • 2014-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多