0

我在我的Servlet中使用以下代码来设置属性confirmMsg

req.setAttribute("confirmMsg", "Update Values");

这个我转发给 JSP

RequestDispatcher rd = req.getRequestDispatcher("displayDetails.jsp");
rd.forward(req, resp);

在我的 JSP 中,我需要在页面加载时显示消息。

<body onload = "showConfirmMsg();">

// .....

</body>

我应该在以下函数中做什么,以便显示消息 onload 本身?

function showConfirmMsg() {

// Code to show the alert box onload

}
4

3 回答 3

3

使用 jQuery,您可以执行以下操作:

<script>
$(function() {
    var msg = "${confirmMsg}";
    // do something with your message :)
});
</script>

<body onload="">不是很干净:)

于 2012-04-17T12:53:24.233 回答
0

只需让 JSP/EL 相应地打印 JS 代码,以便浏览器检索有效的 HTML/JS 代码。

例如

<body onload="showConfirmMsg('${confirmMsg}');">

function showConfirmMsg(confirmMsg) {
    // ...
}

如果您不能保证${confirmMsg}不包含 JS 特殊字符,例如'、换行符等,那么您需要预先通过例如 Apache Commons Lang 对其进行转义StringEscapeUtils#escapeJavaScript()

于 2012-04-17T12:51:37.183 回答
0

无需在加载时调用函数,而是使用 JSP 脚本。

<body>
<%=request.getAttribute("confirmMsg")%>
</body>
于 2012-04-17T13:42:07.783 回答