📜  Struts 2配置文件-struts.xml(1)

📅  最后修改于: 2023-12-03 14:47:44.401000             🧑  作者: Mango

Struts 2 配置文件 - struts.xml

简介

Struts 2是一个MVC框架,用于构建Web应用程序。它基于Java Servlet API和JavaServer Pages (JSP)技术,通过其中间控制器(Action Servlet)连接Web页面和数据库等后端资源。Struts 2通过Spring框架进行了改进和优化,它是完全可配置的,灵活性较高且易于扩展。

struts.xml是Struts 2应用程序中最重要的配置文件,它在控制整个应用程序方面扮演了至关重要的角色。在struts.xml中,我们定义了Action映射、拦截器栈、调用Servlet配置和全局结果等。

基本结构

一个标准的struts.xml文件通常包含以下三个部分:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
    <constant name="struts.devMode" value="true"/>
    <!-- mappings -->
    <package namespace="/" extends="struts-default" >
        <!-- actions -->
    </package>
    <!-- global results -->
</struts>

其中,

  • 第1行是XML声明
  • 第2-4行是DOCTYPE声明,指定struts.xml使用Struts 2.5的DTD文件
  • 元素是配置文件的“根元素”,包裹了整个XML文档,它表示这是一个标准的Struts 2配置文件。
  • 元素用于定义Struts 2全局变量。
  • 元素用于定义Action映射。
  • 其他元素包括等,用于定义映射到Java Action类及其执行后返回的结果。
常用配置详解

元素用于定义Struts 2全局常量。常用属性有:

  • name:常量名称。
  • value:常量值。
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.devMode" value="true" />
<constant name="struts.custom.i18n.resources" value="ApplicationResources,OtherResources" />

元素对应于应用程序中的Action Package,它用于定义Action映射。常用属性有:

  • name:包名称,通常是全局唯一的。
  • namespace:包的命名空间,可以支持RESTful URL。
  • extends:指定该包应该扩展自的父包,通常是‘struts-default’或者其他包。
<package name="hello" namespace="/hello" extends="struts-default">
    <action name="index" class="com.example.HelloAction">
        <result name="success">/result.jsp</result>
    </action>
</package>

元素定义了访问Web应用程序时需要调用的业务逻辑处理程序,称为Action。

常用属性有:

  • name:定义Action名称,可以通过名称调用Action。
  • class:定义Action的Java类。
  • method:定义Action的方法名称。
  • result:定义结果页面的名称。
<action name="login" class="com.example.LoginAction" method="execute">
    <result name="success">/success.jsp</result>
    <result name="input">/login.jsp</result>
</action>

元素用于定义Action之后所要返回的结果页面。常用属性有:

  • name:结果名称,与元素中的result属性配合使用。
  • type:结果类型,值通常是‘dispatcher’、‘redirect’和‘chain’等。
<result name="success" type="dispatcher">/success.jsp</result>
总结

Struts 2的配置文件struts.xml是整个应用程序中最重要、最基础的配置文件,包含了定义Action映射、拦截器栈、调用Servlet配置和全局结果等方面的所有信息。掌握它的语法规则、常用配置项以及配置指南,是Java Web后台开发的必修知识。