【问题标题】:jstl - how do i pass an expression language variable to a javascript alert?jstl - 如何将表达式语言变量传递给 javascript 警报?
【发布时间】:2015-02-26 14:19:57
【问题描述】:

我正在尝试创建一个连接到 servlet 的管理页面,我可以在其中将一些元素插入到数据库中。这是一个音乐会门票预订网站的演示,我使用表单来输入数据,并使用 servlet 来验证它。

如果 servlet 在表单的一个或多个字段中发现无效数据,它会以名为 mismatchOut 的格式化字符串的形式返回自定义消息 - 每行一条无效消息,例如:

Concert date must be in yyyy-mm-dd format!
start time must be in hh:mm:ss format!

我在我的 jsp 中将其传递为:

<c:set var="invalidConcertInputMessage" value="${mismatchOut}" scope="page" />

我想要做的是将此消息传递给警报,该警报会将消息显示给管理员用户。

我试过了:

<c:if test="${not empty invalidConcertInputMessage}">
    <script>
        alert("${invalidConcertInputMessage}");
    </script>
</c:if>

,

<c:if test="${not empty invalidConcertInputMessage}">
    <script>
        alert(${invalidConcertInputMessage});
    </script>
</c:if>

,

<c:if test="${not empty invalidConcertInputMessage}">
    <script>
        alert(<c:out value="${invalidConcertInputMessage}");
    </script>
</c:if>

,

<c:if test="${not empty invalidConcertInputMessage}">
    <script>
        alert("<c:out value="${invalidConcertInputMessage}" />");
    </script>
</c:if>

和:

<c:if test="${not empty invalidConcertInputMessage}">
    <script>
        alert('<c:out value="${invalidConcertInputMessage}" />');
    </script>
</c:if>

似乎没有任何效果。我可能在这里错过了sintax,因为我在tu UI方面完全是新手。

这有效并打印出一条警告说“一些文本”:

<c:if test="${not empty invalidConcertInputMessage}">
    <script>
        alert("some text");
    </script>
</c:if>

请告诉我如何将自定义消息传递给警报。或者这甚至可能吗?

【问题讨论】:

    标签: java javascript jsp servlets el


    【解决方案1】:

    问题似乎是我将换行符作为\n 发布到我的自定义消息字符串中,但是java 将它们解析为自己的换行符,而不是仅仅将\n 发送到java 脚本,这导致了某种形式的它不会解析的无效字符串。

    我通过替换 servlet 发送的自定义字符串中的 \n with\n` 解决了这个问题。

    对于处于这种困境的其他人来说,这是我使用的语法:

    <c:if test="${not empty invalidConcertInputMessage}">
        <script>
            var message = "${invalidConcertInputMessage}";
            alert(message);
        </script>
    </c:if>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-25
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      • 1970-01-01
      • 2020-06-09
      相关资源
      最近更新 更多