`
roruby
  • 浏览: 335140 次
  • 来自: ...
社区版块
存档分类
最新评论

体会真正的Struts开发3(3)

阅读更多
 

下面开始处理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开发框架简介

    Struts开发框架是一款基于MVC(Model-View-Controller)设计模式的开源Java Web应用程序框架,由Apache软件基金会维护。它的出现旨在解决JSP页面和Servlet在处理动态Web内容时的混乱情况,提供一个结构化的解决方案...

    struts2项目开发

    3. 社交媒体平台:Struts2 框架适用于开发社交媒体平台。 结论 Struts2 框架是一个功能强大、灵活、可扩展的 Java Web 框架,广泛应用于 Web 应用程序的开发。通过了解 Struts2 框架的应用、开发流程、技术架构、...

    struts开发需要的包

    3. **Struts Taglib**: `struts-taglib-1.3.5.jar` 包含了Struts自定义标签库,这些标签可以帮助开发者更方便地在JSP页面上构建用户界面,如、等,使得页面代码更清晰,逻辑更易于理解。 4. **Struts Tiles**: `...

    struts开发的各类jar包

    3. **插件(Plugins)**:Struts提供了许多插件来扩展其功能,例如`struts2-convention-plugin.jar`用于自动映射Action和结果,`struts2-json-plugin.jar`支持JSON响应,`struts2-dojo-plugin.jar`提供了Dojo库的...

    Struts开发模式经验总结

    3. **Struts工程的建立和数据源的设置**: 创建Struts工程时,需要配置Web.xml文件以启动Struts的核心过滤器`org.apache.struts.action.ActionServlet`,并设定Struts的配置文件路径。数据源的设置通常在应用服务器...

    struts开发包

    3. **拦截器**:Struts使用拦截器来实现AOP(面向切面编程),如验证、事务管理、日志记录等功能,这些可以在Action执行前后自动应用。 4. **结果类型**:Struts支持多种结果类型,如JSP、FreeMarker、Velocity等,...

    Struts开发包

    3. **依赖库**:Struts2依赖于其他库,如OGNL(Object-Graph Navigation Language)表达式语言,FreeMarker或JSP作为视图技术等。 4. **示例项目**:压缩包可能包含示例应用程序,帮助开发者了解如何在实际项目中...

    struts开发所用七个jar包

    3. **struts-faces-x.x.x.jar**:这个JAR文件提供了对JSF(JavaServer Faces)的支持,使得Struts应用能够集成JSF组件。JSF是一种用于构建用户界面的MVC框架,与Struts的集成可以提升用户体验并简化开发工作。 4. *...

    struts2 开发包.zip

    3. **依赖库**:Struts2框架依赖于其他一些库,如`ognl.jar`(Object-Graph Navigation Language),它是Struts2中的表达式语言,用于访问和操作对象的属性。`freemarker.jar`则用于视图层的模板渲染,提供动态HTML...

    Struts2 开发包

    3. **Interceptor(拦截器)**:拦截器是Struts2中的重要概念,它们在Action执行前后插入代码,实现了AOP(面向切面编程)的理念。常见的拦截器有日志、验证、异常处理等。通过配置`struts.xml`,可以定制拦截器链,...

    Struts开发技巧Struts开发技巧

    Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧Struts开发技巧

    struts2开发需要用到的jar包

    struts2开发需要用到的jar包

    struts开发入门与项目实践

    struts开发入门与项目实践光盘源码 里面有几个struts项目案例

    struts2.2.1开发包

    3. **Tiles模板引擎**:Struts2集成了Tiles框架,使得视图设计更加灵活。Tiles允许我们创建可重用的页面组件,通过模板定义页面布局,提高了代码复用率。 4. **OGNL(Object-Graph Navigation Language)**:Struts...

    STRUTS开发用c标签

    STRUTS开发用c标签STRUTS开发用c标签STRUTS开发用c标签STRUTS开发用c标签

    struts2.2.1开发文档

    Struts2.2.1开发文档是一份详细指导开发者如何使用Struts2.2.1框架进行Web应用程序开发的重要参考资料。Struts2是基于MVC(Model-View-Controller)设计模式的Java开源框架,它提供了强大的控制层,用于构建灵活、可...

    jsp项目开发实录 Struts 实现 程序完整Struts 实现 程序完整

    jsp项目开发实录 jsp项目开发实录 Struts 实现 程序完整 Struts 实现 程序完整 Struts 实现 程序完整 Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整...

    struts2.2.3 chm开发文档

    struts2.2.3 struts开发文档 chm

    轻量级JavaEE企业应用实战-Struts2+Spring3+Hibernate整合开发(第3版).part3

    共分四个压缩包,JavaEE企业应用实战-Struts2+Spring3+Hibernate整合开发(第3版).part3

Global site tag (gtag.js) - Google Analytics