|
Struts¤ÎÎã³°½èÍý¤Ë¤Ä¤¤¤Æ¤Þ¤È¤á¤Þ¤¹¡£Struts¤ÎÎã³°½èÍý¤Ï¤¤¤ï¤æ¤ëÀë¸ÀŪ¤ÊÎã³°½èÍýµ¡¹½¤¬¤¢¤ê¤Þ¤¹¡£ Á´¤Æ¤Î¥¢¥¯¥·¥ç¥ó¡¢¤â¤·¤¯¤ÏÆÃÄê¤Î¥¢¥¯¥·¥ç¥ó¤Ç¡ß¡ßException¤¬È¯À¸¤·¤¿¾ì¹ç¤Ï¤³¤Î¥¨¥é¡¼²èÌ̤ØÁ«°Ü¡¢¤Ê¤É¤È¤¤¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤Þ¤¿¡¢¤¢¤ëÎã³°¤¬È¯À¸¤·¤¿¤È¤¤Ë²èÌÌÁ«°Ü¤À¤±¤Ç¤Ê¤¯ÆÃ¼ì¤Ê½èÍý¤ò¤·¤¿¤¤¾ì¹ç¡¢Îã³°¥Ï¥ó¥É¥é¤òÄêµÁ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ½èÍý¤òÁȤ߹þ¤à¤³¤È¤â¤Ç¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¤¢¤ëÎã³°¤Ç¡¢ÆâÉô¤Î¥¨¥é¡¼£É£Ä¤ò¸«¤ÆÁ«°ÜÀè¤òÀÚ¤êÂØ¤¨¤¿¤¤¡¢¤Ê¤ó¤Æ¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ¤ä¤Ã¤Æ¤ß¤ë †¥µ¥ó¥×¥ë¤Ç¸«¤Æ¤ß¤Þ¤¹¡£¥¢¥¯¥·¥ç¥ó¥¯¥é¥¹¤ÇÆÃÄê¤ÎÎã³°(NormalException?¤È¤·¤Þ¤·¤¿)¤¬È¯À¸¤·¤¿¤È¤¤Ë¡¢error.jsp¤ËÁ«°Ü¤µ¤»¤ë¤³¤È¤ò¹Í¤¨¤Þ¤¹¡£ ή¤ì †normalEx -> ¥¨¥é¡¼È¯À¸ -> error.jsp ¤È¤¤¤¦Î®¤ì¤Î¥µ¥ó¥×¥ë¤Ç¤¹¡£ ¥½¡¼¥¹ †
NormalException?¤ò¥¹¥í¡¼¤·¤¿¤éerror.jsp¤ËÁ«°Ü¤·¤Ê¤µ¤¤¡¢¤Þ¤¿error.NormalException?¤È¤¤¤¦¥¡¼ÃͤÎActionMessage?¤òºîÀ®¤·¤Ê¤µ¤¤¡¢¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£
Îã³°¤¬¥¹¥í¡¼¤µ¤ì¤ë¤È¡¢org.apache.struts.action.ExceptionHandler?¤¬½èÍý¤ò¹Ô¤¦¤Î¤Ç¤¹¤¬*1¡¢¤½¤ÎÃæ¤ÇActionMessage?¤òÀ¸À®¤¹¤ë½èÍý¤¬¤¢¤ê¤Þ¤¹¡£¤½¤³¤Ç ActionMessage error = new ActionMessage(ae.getKey(), ex.getMessage()); ae.getKey() ¤Ïstruts-config.xml¤Î¥¡¼ÃÍ(error.NormalException) ex.getMessage() ¤ÏÎã³°¤ÎgetMessage() ¤È¤¤¤¦½èÍý¤¬¤¢¤ê¤Þ¤¹¡£¤Ä¤Þ¤ê error.NormalException? ¤È¤¤¤¦¥¡¼ÃÍ¡¢Îã³°¤Î¥á¥Ã¥»¡¼¥¸¤Ç{0}¤òÃÖ´¹¤·¤Ê¤µ¤¤¡¢¤È¤¤¤¦°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹¡£
¤¢¤È¤ÏÉáÄ̤ÎActionMessage?¤Î½èÍý¤ÈƱ¤¸¤Ç¤¹¤Í¡£ ¼Â¹Ô·ë²Ì †<ul> <li>NormalException!! [ÉáÄ̤Υϥó¥É¥ê¥ó¥°¤ò¤¹¤ëÎã³°¡ª]</li> </ul> <hr /> <ul><li>NormalException!! [ÉáÄ̤Υϥó¥É¥ê¥ó¥°¤ò¤¹¤ëÎã³°¡ª]</li></ul> <hr /> ¤È¤¤¤Ã¤¿html¤¬½ÐÎϤµ¤ì¤Þ¤·¤¿¡£ ¥¢¥¯¥·¥ç¥ó¥¯¥é¥¹¤ÇºîÀ®¤·¤¿ActionMessages?¤¬¤Ç¤Ê¤¤¤è¤¦¤Ê¡¢¡¢¡£ †¤³¤³¤Ç¤Ï¥¢¥¯¥·¥ç¥ó¥¯¥é¥¹¤Ç¤ÏÎã³°¤ò¥¹¥í¡¼¤·¤¿¤À¤±¤Ç¤·¤¿¤¬¡¢¥¢¥¯¥·¥ç¥ó¥¯¥é¥¹Æâ¤Ç¤¤¤í¤¤¤í¤ÊActionMessage?¤òºîÀ®¤·¤Æ¤ª¤¤¤Æ¤â¡¢²èÌ̤ˤÏɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£¤³¤ì¤Ë¤Ä¤¤¤Æ¤ÏStruts/ActionMessages¤Ë¤è¤ë¥¨¥é¡¼½èÍý¤È¡¢Îã³°¥Ï¥ó¥É¥é¤Ç½èÍý¤·¤¿¾ì¹ç¤Îµóư¤Î°ã¤¤¤Ë¤Þ¤È¤á¤Þ¤·¤¿¡£ org.apache.struts.action.ExceptionHandler?¤òÊѹ¹¤·¤ÆÆÈ¼«¤Î½èÍý¤òÆþ¤ì¤ë †
Á«°ÜÀè¤âstruts-config.xml¤«¤é¤Ç¤Ê¤¯¡¢¥Ï¥ó¥É¥éÆâ¤ÇÀ©¸æ¤¹¤ë †¥Ç¥Õ¥©¥ë¥È¤ÎExceptionHandler?¤Ï´ðËÜŪ¤Ë <exception
key="error.NormalException"
type="nu.mine.kino.strutsexamples.exceptions.NormalException"
handler="nu.mine.kino.strutsexamples.exceptions.CustomizeExceptionHandler"
path="/WEB-INF/jsp/error.jsp"/>
¤ÈÁ«°ÜÀ褬¸ÇÄê¤Ç¤·¤¿¤¬¡¢¼Â¤Ï¤³¤ÎÃͤϥª¥×¥·¥ç¥Ê¥ë¤Ç¡¢¼ÂºÝ¤ÎÁ«°ÜÀè¤òÁ´¤Æ¥Ï¥ó¥É¥é¤Ë¤ä¤é¤»¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£¼ÂºÝExceptionHandler?¤Î¥½¡¼¥¹¤ò¸«¤Æ¤ß¤ë¤È¡¢ if (ae.getPath() != null) {
forward = new ActionForward(ae.getPath());
} else {
forward = mapping.getInputForward();
}
¤È¤¤¤¦¤è¤¦¤Ë¡¢exception¥¿¥°¤Îpath¤«¤éÁ«°ÜÀè¤ò¼è¤ê½Ð¤¹¡¢¤â¤·¤¯¤Ï¤«¤éaction¥¿¥°¤Îinput°À¤«¤é¼è¤ê½Ð¤¹¡¢¤È¤ä¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤³¤òOverride¤¹¤ì¤Ð¤è¤¤¤Ç¤¹¤Í¡£
¥µ¥ó¥×¥ë¡£ †TIPS †¥¹¥í¡¼¤µ¤ì¤¿Îã³°¤Ë¥¢¥¯¥»¥¹¤¹¤ë †¥¹¥í¡¼¤µ¤ì¤¿Exception¤Ï Globals.EXCEPTION_KEY ¤È¤¤¤¦¥¡¼ÃÍ*2¤Ç¥ê¥¯¥¨¥¹¥È¥¹¥³¡¼¥×¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç <logic:present name="<%=Globals.EXCEPTION_KEY %>" > <bean:write name="<%=Globals.EXCEPTION_KEY %>"/> </logic:present> ¤Ç¥¢¥¯¥»¥¹²Äǽ¤Ç¤¹¡£ ´ØÏ¢¥ê¥ó¥¯ †¤³¤Îµ»ö¤Ï
¸½ºß¤Î¥¢¥¯¥»¥¹:20445 |