我有一个 Action
类,它使用 addActionMessage();
发送操作消息。
我想使用 JavaScript 警报框在 JSP 中显示该消息。
我尝试过
alert ('<s:actionmessage/>');
但它显示未终止的字符串文字
。
最佳答案
<s:actionmessage/>
标签generates an HTML像下面这样:
<ul class="actionMessage">
<li>
<span>
Your Message 1
</span>
</li>
<li>
<span>
Your Message 2, and so on...
</span>
</li>
</ul>
这会使用无效的 JS 代码破坏您的 javascript 函数:
alert('<ul class="actionMessage">
<li>
...
');
解决方案是手动迭代消息,并使用 <s:property/>
自行构建输出。 ,而不是使用 <s:actionmessage/>
:
<s:if test="actionMessages!=null && actionMessages.size > 0">
<script>
var actionMessages;
<s:iterator value="actionMessages" >
// Iterate the messages, and build the JS String
actionMessages += '-' + '<s:property />' + '\n';
</s:iterator>
alert (actionMessages);
</script>
</s:if>
还要记住将 actionMessage 中的单引号括起来。
关于java - 如何在 JavaScript 警报框中打印 Struts2 ActionMessage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29788779/