java - jSTL - 如何将表达式语言变量传递给 JavaScript 警报?

标签 java javascript jsp servlets el

我正在尝试创建一个连接到 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>

似乎没有什么效果。我可能错过了这里的语法,因为当涉及到 UI 时我完全是新手。

这可以工作并打印出一条警告,提示“一些文本”:

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

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

最佳答案

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

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

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

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

关于java - jSTL - 如何将表达式语言变量传递给 JavaScript 警报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28744817/

相关文章:

javascript - 使用 Jquery 访问 JSON 解码中的第二个数组

javascript - 如何使用您自己的自定义验证消息摆脱 HTML5 验证消息

java - spring mvc 与 hibernate 一起使用更好吗?

java.lang.ClassNotFoundException : org. hibernate.cfg.AnnotationConfiguration

javascript - react : Resizing a div including handlers, 不同的游标,即 ns-resize - 没有 jquery

java - 当 queryParameter 没有值时 getQueryString 返回空字符串

java - 无法验证从 jsp 生成的 HTML

java - 整数和双差

java - 将组件绘制到 BufferedImage 会导致显示损坏

java - 正则表达式 获取所有索引