配置Struts应用(2)
1. 配置错误处理
当错误发生时,如果struts框架不能处理这种错误,就把错误抛给Web容器。在默认情况下,Web容器会向用户浏览器直接返回原始的错误信息,如果不想让用户直接看到原始的错误信息,可以在Web应用的发布描述文件中配置<error-page>元素。
<error-page>
<error-code>404</error-code>
<location>/common/404.jsp</location>
</error-page>
上面的代码用于避免用户直接看到HTTP404错误,而是向用户显示存放在相对路径/common下的404.jsp页面。
也可以为Web容器捕获的java异常配置<error-page>元素,这时需要指定<exception-type>子元素,它用于指定java异常的类型。Web容器可以捕捉如下异常:
l RuntimeException 或Error
l ServletException 或其他的子类
l IOException 或它的子类
所以在<exception-type>元素中声明的Java异常必须是以上异常之一。
<error-page>
<exception-type>java.servlet.ServletException</exception-type>
<loaction>/common/system_error.jsp</location>
</erroe-page>
以上代码指定了如果Web容器接受到ServletException,则forward到相对路径/common下的system_error.jsp页面。
2. 配置Struts标签库
Struts框架提供了一些实用的客户化标签库。如果在应用中使用了这些标签库,那么必须在Web应用发布描述文件中配置它们。
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
在jsp文件中加载这些标签需要以下代码
<%@taglib uri=”/WEB-INF/struts-html.tld” prefix=”html” %>
<%@taglib uri=”/WEB-INF/struts-bean.tld” prefix=”bean” %>
<%@taglib uri=”/WEB-INF/struts-logic.tld” prefix=”logic” %>