Struts メッセージの運搬
メッセージの設定例ActionMessages messages = new ActionMessages();messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message.key01","param01"));#ActionMessages.GLOBAL_MESSAGE -> プロパティ名#"message.key01" -> メッセージリソースファイルのメッセージキー#"param01" -> メッセージキーにセットするパラメータsaveMessages(request, messages);メッセージをJSPで表示する<html:messages id="msg" message="true"> <bean:write name="msg" /></html:messages>↓ これは上の例と同じ意味<html:messages id="msg" message="true" property="org.apache.struts.action.GLOBAL_MESSAGE"> <bean:write name="msg" /></html:messages>#property属性に、addメソッドの第1引数で指定した値を指定することで、 そのメッセージを指定して表示させることができる。エラーメッセージの設定例ActionMessages errors = new ActionMessages();errors.add(ActionErrors.GLOBAL_MESSAGE, new ActionMessage("error.key01"));#ActionErrors.GLOBAL_MESSAGE -> プロパティ名(値はActionMessages.GLOBAL_MESSAGEと同じ)#"error.key01" -> メッセージリソースファイルのメッセージキーsaveErrors(request,errors);エラーメッセージをJSPで表示する<html:messages id="msg" message="false"> <bean:write name="msg" /></html:messages>ActionMessagesクラスpublic void add(String property, ActionMessage message) { ActionMessageItem item = (ActionMessageItem) messages.get(property); List list = null; if (item == null) { list = new ArrayList(); item = new ActionMessageItem(list, iCount++, property); messages.put(property, item); } else { list = item.getList(); } list.add(message);}public static final String GLOBAL_MESSAGE = "org.apache.struts.action.GLOBAL_MESSAGE";Actionクラスprotected void saveMessages(HttpServletRequest request, ActionMessages messages) { // Remove any messages attribute if none are required if ((messages == null) || messages.isEmpty()) { request.removeAttribute(Globals.MESSAGE_KEY); return; } // Save the messages we need request.setAttribute(Globals.MESSAGE_KEY, messages);}protected void saveErrors(HttpServletRequest request, ActionMessages errors) { // Remove any error messages attribute if none are required if ((errors == null) || errors.isEmpty()) { request.removeAttribute(Globals.ERROR_KEY); return; } // Save the error messages we need request.setAttribute(Globals.ERROR_KEY, errors);}Globalsクラスpublic static final String MESSAGE_KEY = "org.apache.struts.action.ACTION_MESSAGE";public static final String ERROR_KEY = "org.apache.struts.action.ERROR";