- ʵÏÖorg.apache.struts.action.ExceptionHandlerµÄ×ÓÀ࣬¸²¸Çexecute·½·¨£¬Ôڸ÷½·¨Öд¦ÀíÒì³£²¢ÇÒ·µ»ØÒ»¸öActionForward¶ÔÏó
- ÔÚÅäÖÃÎļþÖÐÅäÖÃÒì³£´¦Àí¶ÔÏó£¬Äã¿ÉÒÔÅäÖÃÒ»¸öÈ«¾ÖµÄ´¦ÀíÀà»òÕßµ¥¶ÀΪÿ¸öActionÅäÖô¦ÀíÀà
ϱí¾Í¶¨ÒåÁËÒ»¸öÈ«¾ÖµÄ´¦ÀíÀàCustomizedExceptionHandler£¬Ëü±»ÓÃÀ´´¦ÀíËùÓеÄÒì³£¡£
<global-exceptions>
<exception
handler="com.yourcorp.CustomizedExceptionHandler"
key="global.error.message"
path="/error.jsp"
scope="request"
type="java.lang.Exception"/>
</global-exceptions>
ÆäÖоßÌåµÄ²ÎÊýº¬Ò壬¿ÉÒԲο¼ExceptionHandler.javaÔ´Îļþ¡£
8¡¢taglib
½²ÍêÁËÄ£ÐͺͿØÖÆÆ÷£¬½ÓÏÂÀ´ÎÒÃÇ񻃾¼°µÄÊÇÊÓͼ¡£ÊÓͼµÄ½ÇÉ«Ö÷ÒªÊÇÓÉJSPÀ´Íê³É£¬´ÓJSPµÄ¹æ·¶ÖпÉÒÔ¿´³ö£¬ÔÚÊÓͼ²ã¿ÉÒÔ"ÕÛÌÚ"µÄ¼¼Êõ²»ÊǺܶ࣬Ö÷ÒªµÄ¾ÍÊÇ×Ô¶¨Òå±ê¼Ç¿âµÄÓ¦Óá£Struts 1.1ÔÚÔÓеÄËĸö±ê¼Ç¿âµÄ»ù´¡ÉÏÐÂÔöÁËÁ½¸ö±ê¼Ç¿â--TilesºÍNested¡£
ÆäÖÐTiles³ýÁËÌæ´úTemplateµÄ»ù±¾Ä£°å¹¦ÄÜÍ⣬»¹Ôö¼ÓÁ˲¼¾Ö¶¨Òå¡¢ÐéÄâÒ³Ãæ¶¨ÒåºÍ¶¯Ì¬Ò³ÃæÉú³ÉµÈ¹¦ÄÜ¡£TilesÇ¿´óµÄÄ£°å¹¦ÄÜÄܹ»Ê¹Ò³Ãæ»ñµÃ×î´óµÄÖØÓÃÐÔºÍÁé»îÐÔ£¬´ËÍâ¿ÉÒÔ½áºÏTilesÅäÖÃÎļþÖеÄÒ³Ãæ¶¨ÒåºÍActionµÄת·¢Âß¼£¬¼´Äã¿ÉÒÔ½«Ò»¸öActionת·¢µ½Ò»¸öÔÚTilesÅäÖÃÎļþÖж¨ÒåµÄÐéÄâÒ³Ãæ£¬´Ó¶ø¼õÉÙÒ³ÃæµÄÊýÁ¿¡£±ÈÈ磬ϱíÖеÄAction¶¨ÒåÁËÒ»¸öת·¢Â·¾¶£¬ËüµÄÖÕµãÊÇtile.userMain£¬¶øºóÕßÊÇÄãÔÚTilesÅäÖÃÎļþÖж¨ÒåµÄÒ»¸öÒ³Ãæ¡£
<!-- ========== Action Mapping Definitions ============================== -->
<action-mappings>
<!-- Action mapping for profile form -->
<action path="/login"
type="com.ncu.test.LoginAction"
name="loginForm"
scope="request"
input="tile.userLogin"
validate="true">
<forward name="success" path="tile.userMain"/>
</action>
</action-mappings>
TilesÅäÖÃÎļþ£ºtiles-defs.xml
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration//EN" "http://jakarta.apache.org/struts/dtds/tiles-config.dtd">
<tiles-definitions>
<!-- ======================================================= -->
<!-- Master definitions -->
<!-- ======================================================= -->
<!-- Page layout used as root for all pages. -->
<definition name="rootLayout" path="/tiles-layouts/rootLayout.jsp">
<put name="titleString" value="CHANGE-ME"/>
<put name="topMenu" value="/tiles-components/topMenu.jsp"/>
<put name="leftMenu" value="/tiles-components/panel1.jsp"/>
<put name="body" value="CHANGE-ME"/>
<put name="footer" value="/tiles-components/footer.jsp"/>
</definition>
<!-- ======================================================= -->
<!-- Page definitions -->
<!-- ======================================================= -->
<!-- User Login page -->
<definition name="tile.userLogin" extends="rootLayout">
<put name="titleString" value="User Login"/>
<put name="body" value="/src/userLogin.jsp"/>
</definition>
<!-- User Main page -->
<definition name="tile.userMain" extends="rootLayout">
<put name="titleString" value="User Main"/>
<put name="body" value="/src/userMain.jsp"/>
</definition>
</tiles-definitions>
¶øNested±ê¼Ç¿âµÄ×÷ÓÃÊÇÈÃÒÔÉÏÕâЩ»ù±¾±ê¼Ç¿âÄܹ»Ç¶Ì×ʹÓ㬷¢»Ó¸ü´óµÄ×÷Óá£
9¡¢Commons Logging ½Ó¿Ú
ËùνµÄCommons Logging½Ó¿Ú£¬ÊÇÖ¸½«ÈÕÖ¾¹¦ÄܵÄʹÓÃÓëÈÕÖ¾¾ßÌåʵÏÖ·Ö¿ª£¬Í¨¹ýÅäÖÃÎļþÀ´Ö¸¶¨¾ßÌåʹÓõÄÈÕ־ʵÏÖ¡£ÕâÑùÄã¾Í¿ÉÒÔÔÚStruts 1.1ÖÐͨ¹ýͳһµÄ½Ó¿ÚÀ´Ê¹ÓÃÈÕÖ¾¹¦ÄÜ£¬¶ø²»È¥¹Ü¾ßÌåÊÇÀûÓõÄÄÄÖÖÈÕ־ʵÏÖ£¬ÓеãÓÚÀàËÆJDBCµÄ¹¦ÄÜ¡£Struts 1.1ÖÐÖ§³ÖµÄÈÕ־ʵÏÖ°üÀ¨£ºLog4J£¬JDK Logging API£¬ LogKit£¬NoOpLogºÍSimpleLog¡£
Äã¿ÉÒÔ°´ÕÕÈçϵķ½Ê½À´Ê¹ÓÃCommons Logging½Ó¿Ú£¨¿ÉÒÔ²ÎÕÕStrutsÔ´ÎÄÖеÄÐí¶àÀàʵÏÖ£©£º
package com.foo;
// ...
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
//...
public class Foo {
// ...
private static Log log = LogFactory.getLog(Foo.class);
// ...
public void setBar(Bar bar) {
if (log.isTraceEnabled()) {
log.trace("Setting bar to " bar);
}
this.bar = bar;
}
// ...
}
¶ø¿ªÆôÈÕÖ¾¹¦ÄÜ×î¼òµ¥µÄ°ì·¨¾ÍÊÇÔÚWEB-INF/classesĿ¼ÏÂÌí¼ÓÒÔÏÂÁ½¸öÎļþ£º
commons-logging.propertiesÎļþ£º
# Note: The Tiles Framework now uses the commons-logging package to output different information or debug statements.
Please refer to this package documentation to enable it. The simplest way to enable logging is to create two files in
WEB-INF/classes:
# commons-logging.properties
# org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
# simplelog.properties
# # Logging detail level,
# # Must be one of ("trace", "debug", "info", "warn", "error", or "fatal").
#org.apache.commons.logging.simplelog.defaultlog=trace
org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ
http://www.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!




