c语言编程笔录

首页 >   > 笔记大全

笔记大全

配置struts .xml的实例详解

更新时间:2023-08-27

前言:

Struts是一个基于Java的开发框架,广泛用于构建JavaWeb应用程序。Struts通过使用MVC(Model-View-Controller)设计模式,将应用程序的不同层进行分离,实现了代码的解耦和可重用性。

在Struts的配置文件struts.xml中,我们可以定义请求到处理程序(Action)的映射关系,以及配置全局拦截器(Interceptor),国际化资源文件和结果视图等。接下来,我们将详细解释如何在struts.xml中进行配置。

一、定义Action映射:

在struts.xml中,我们使用action元素来定义Action的映射关系。每个action元素都包含一个name属性,用于指定Action的名称,以及一个class属性,用于指定Action的处理类。

<action name="myAction" class="com.example.MyAction">
    <result name="success">success.jsp</result>
    <result name="error">error.jsp</result>
</action>

上述代码片段中,定义了一个名为"myAction"的Action,对应的处理类是com.example.MyAction。在成功执行Action后,会使用success.jsp作为结果视图;在发生错误时,会使用error.jsp作为结果视图。

二、配置全局拦截器:

在struts.xml中,可以通过interceptors元素来配置全局拦截器,这些拦截器将被应用到所有的Action上。

拦截器可以在Action执行之前或之后执行一些额外的操作,比如日志记录、权限验证等。我们可以通过interceptor元素为每个拦截器定义其类名,以及其他配置参数。

<interceptors>
    <interceptor name="loggingInterceptor" class="com.example.interceptor.LoggingInterceptor" />
    <interceptor name="securityInterceptor" class="com.example.interceptor.SecurityInterceptor" />
</interceptors>

<default-interceptor-ref name="loggingInterceptor" />

上述代码片段中,我们定义了两个拦截器分别为loggingInterceptorsecurityInterceptor,并将loggingInterceptor作为默认的拦截器。

三、配置国际化资源文件和结果视图:

Struts支持国际化,可以根据用户的语言环境显示不同的文本消息。在struts.xml中,我们可以配置一个或多个国际化资源文件,并将其与结果视图关联。

<global-results>
    <result name="success" type="tiles">main</result>
    <result name="error" type="tiles">error</result>
</global-results>

<global-exception-mappings>
    <exception-mapping exception="java.lang.Exception" result="error" />
</global-exception-mappings>

<!-- 配置国际化资源文件 -->
<global-resource-bundles>
    <!-- 英文资源文件 -->
    <bundle name="messages" extends="struts-messages_en" />
    <!-- 中文资源文件 -->
    <bundle name="messages" extends="struts-messages_zh_CN" />
</global-resource-bundles>

上述代码片段中,通过global-results元素,我们将successerror结果视图与tiles类型的视图模板关联起来。对于全局异常处理,我们使用global-exception-mappings元素将所有异常映射到error结果视图。最后,通过global-resource-bundles元素,我们配置了英文和中文的国际化资源文件。

总结:

在本文中,我们详细解释了如何在struts.xml配置文件中进行Struts的配置。我们学习了如何定义Action映射关系,配置全局拦截器,以及国际化资源文件和结果视图的配置。掌握这些配置技巧,可以帮助我们更好地构建和管理Struts应用程序。