在Action中的写法:
ActionMessages messages = new ActionMessages();
ActionMessages errors = new ActionMessages();
try {
classMgr.addClasses(classes);
//添加成功
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message.add.success"));
this.saveMessages(request, messages);
return mapping.findForward("success");
} catch (ManagerException e) {
// 添加失败
e.printStackTrace();
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message.add.failure"));
this.saveErrors(request, errors);
}
在页面中的写法:
方法一:
<html:errors/>
<html:messages message="true" id="msg" header="messages.header" footer="messages.footer">
<bean:write name="msg" />
<html:messages>
这种方法需要在资源文件中加入以下信息,
# Errors style
#
errors.header = <FONT COLOR=RED><UL>
errors.prefix = <LI>
errors.suffix = </LI>
errors.footer = </UL></FONT>
# Messages style
#
messages.header = <FONT COLOR=GREEN><UL>
messages.prefix = <LI>
messages.suffix = </LI>
messages.footer = </UL></FONT>
方法二:
<logic:messagesPresent message="true">
<bean:message key="messages.header" />
<ul>
<html:messages id="msg" message="true">
<li><bean:write name="msg" /></li>
</html:messages>
</ul>
<br/>
</logic:messagesPresent>
<logic:messagesPresent property="<%=ActionMessages.GLOBAL_MESSAGE%>">
<bean:message key="errors.header" />
<ul>
<html:messages id="error"
property="<%=ActionMessages.GLOBAL_MESSAGE%>">
<li><bean:write name="error" /></li>
</html:messages>
</ul>
</logic:messagesPresent>
这种方法不需要在资源文件中加东西,但需要在页面中导入
< import="org.apache.struts.action.ActionMessages"%>,
此外messages.header和errors.header还是要的,因为用到了。
最后:
至于到底是用哪种看自己的习惯了,我喜欢用第二种,因为看起来帅点,嘿嘿。