下面开始处理JSP页面出错情况<!----><o:p></o:p>
添加错误页面,内容如下:<o:p></o:p>
<%@ page contentType="text/html; charset=UTF-8" %><o:p></o:p>
<%@ page isErrorPage="true" %><o:p></o:p>
……其他省略,请看源文件<o:p></o:p>
当要在其他页面处理Exception时,只要在头部添加<o:p></o:p>
<%@ page errorPage="error.jsp" %><o:p></o:p>
测试如下:<o:p></o:p>
<%@ page language="java" contentType="text/html;charset=UTF-8"%><o:p></o:p>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%> <o:p></o:p>
<%@ taglib uri="/tags/struts-html" prefix="html"%><o:p></o:p>
<%@ page errorPage="error.jsp" %><o:p></o:p>
<%<o:p></o:p>
int n=0;<o:p></o:p>
int n1=10/n;<o:p></o:p>
%><o:p></o:p>
请求时转向出错页面:<o:p></o:p>
<!----><v:shapetype o:spt="75" coordsize="21600,21600" stroked="f" id="_x0000_t75" filled="f" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path gradientshapeok="t" o:connecttype="rect" o:extrusionok="f"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape type="#_x0000_t75" id="_x0000_i1026" style="WIDTH: 225.75pt; HEIGHT: 122.25pt"></v:shape><o:p></o:p>
下面测试Action中的Exception。<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
现在我们开始为Action中的异常定义处理。<o:p></o:p>
先配置全局Exception<o:p></o:p>
<global-exceptions><o:p></o:p>
<exception key="errors.message" path="actionerror.jsp" scope=”request” type="java.lang.Exception" /><o:p></o:p>
</global-exceptions><o:p></o:p>
修改我们的LogonAction,使其抛出一个异常。这样全局配置文件就可以进行处理了<o:p></o:p>
<v:shape type="#_x0000_t75" id="_x0000_i1025" style="WIDTH: 103.5pt; HEIGHT: 65.25pt"></v:shape><o:p></o:p>
上面的验证是通过Server端来的,我们继承了ActionForm,其实我们有一种更简单的方式,那就是利用Validator组件。<o:p></o:p>
使用validator组件,既可以支持客户端的验证,同时Server端也进行同样验证。同时验证方式可以重用。<o:p></o:p>
我们来认识一下Struts1.1的Validator。<o:p></o:p>
1.Validators
一个Validator就是,执行一个验证规则时Validator框架调用的一个Java类。框架根据配置文件中定义的方法签名来调用这个Validaotor类。一般情况下,每个Validator类提供一个单独的验证规则,然后这些规则可以组合成更复杂的规则集。Validator框架提供了Web应用程序需要的大多数的验证规则。你可以使用这些现有的验证规则来创建自己验证配置文件。我们也可以根据需要随意的增加更多的Validator。<o:p></o:p>
<o:p> </o:p>
2.配置文件<o:p></o:p>
Struts1.1的Validator框架,用到这样两个配置文件,一个叫validator-rules.xml,另一个叫validation.xml;其实你也可以随意的给他们命名,甚至可以把它们合并成一个XML文件。但是,你还是最好把它们分开,因为它们各有各的用途。<o:p></o:p>
Validator-rules.xml文件
validator-rules.xml文件定义应用程序可以使用的Validator。Validator-rules.xml充当模板的作用,定义所有应用程序可能要用到的Validator。<o:p></o:p>
分享到:
相关推荐
Struts开发框架是一款基于MVC(Model-View-Controller)设计模式的开源Java Web应用程序框架,由Apache软件基金会维护。它的出现旨在解决JSP页面和Servlet在处理动态Web内容时的混乱情况,提供一个结构化的解决方案...
3. 社交媒体平台:Struts2 框架适用于开发社交媒体平台。 结论 Struts2 框架是一个功能强大、灵活、可扩展的 Java Web 框架,广泛应用于 Web 应用程序的开发。通过了解 Struts2 框架的应用、开发流程、技术架构、...
3. **Struts Taglib**: `struts-taglib-1.3.5.jar` 包含了Struts自定义标签库,这些标签可以帮助开发者更方便地在JSP页面上构建用户界面,如、等,使得页面代码更清晰,逻辑更易于理解。 4. **Struts Tiles**: `...
3. **插件(Plugins)**:Struts提供了许多插件来扩展其功能,例如`struts2-convention-plugin.jar`用于自动映射Action和结果,`struts2-json-plugin.jar`支持JSON响应,`struts2-dojo-plugin.jar`提供了Dojo库的...
3. **Struts工程的建立和数据源的设置**: 创建Struts工程时,需要配置Web.xml文件以启动Struts的核心过滤器`org.apache.struts.action.ActionServlet`,并设定Struts的配置文件路径。数据源的设置通常在应用服务器...
3. **拦截器**:Struts使用拦截器来实现AOP(面向切面编程),如验证、事务管理、日志记录等功能,这些可以在Action执行前后自动应用。 4. **结果类型**:Struts支持多种结果类型,如JSP、FreeMarker、Velocity等,...
3. **依赖库**:Struts2依赖于其他库,如OGNL(Object-Graph Navigation Language)表达式语言,FreeMarker或JSP作为视图技术等。 4. **示例项目**:压缩包可能包含示例应用程序,帮助开发者了解如何在实际项目中...
3. **struts-faces-x.x.x.jar**:这个JAR文件提供了对JSF(JavaServer Faces)的支持,使得Struts应用能够集成JSF组件。JSF是一种用于构建用户界面的MVC框架,与Struts的集成可以提升用户体验并简化开发工作。 4. *...
3. **依赖库**:Struts2框架依赖于其他一些库,如`ognl.jar`(Object-Graph Navigation Language),它是Struts2中的表达式语言,用于访问和操作对象的属性。`freemarker.jar`则用于视图层的模板渲染,提供动态HTML...
3. **Interceptor(拦截器)**:拦截器是Struts2中的重要概念,它们在Action执行前后插入代码,实现了AOP(面向切面编程)的理念。常见的拦截器有日志、验证、异常处理等。通过配置`struts.xml`,可以定制拦截器链,...
Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧
struts2开发需要用到的jar包
struts开发入门与项目实践光盘源码 里面有几个struts项目案例
3. **Tiles模板引擎**:Struts2集成了Tiles框架,使得视图设计更加灵活。Tiles允许我们创建可重用的页面组件,通过模板定义页面布局,提高了代码复用率。 4. **OGNL(Object-Graph Navigation Language)**:Struts...
STRUTS开发用c标签STRUTS开发用c标签STRUTS开发用c标签STRUTS开发用c标签
Struts2.2.1开发文档是一份详细指导开发者如何使用Struts2.2.1框架进行Web应用程序开发的重要参考资料。Struts2是基于MVC(Model-View-Controller)设计模式的Java开源框架,它提供了强大的控制层,用于构建灵活、可...
jsp项目开发实录 jsp项目开发实录 Struts 实现 程序完整 Struts 实现 程序完整 Struts 实现 程序完整 Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整...
struts2.2.3 struts开发文档 chm
共分四个压缩包,JavaEE企业应用实战-Struts2+Spring3+Hibernate整合开发(第3版).part3