📜  Struts 2-配置文件(1)

📅  最后修改于: 2023-12-03 15:05:23.516000             🧑  作者: Mango

Struts 2-配置文件

Struts 2是一个MVC框架,使用XML或Java注解配置。配置文件是Struts 2框架的重要组成部分之一。Struts 2框架中定义了许多配置文件,包括struts.xml、struts-default.xml、struts-plugin.xml等。在配置文件中,我们可以定义全局常量、拦截器、动作等,使得开发人员可以根据具体需求设置和配置相关的组件,以满足业务需求。

struts.xml文件

Struts2的主配置文件是struts.xml,位于类路径(classpath)下。它描述了整个应用程序的结构和行为,包括对Action、Interceptors、Result等的定义。struts.xml文件的根元素是。它有多个子元素,包括等。

<package>

是Struts2应用程序的基本组件。它定义了一个命名空间,并包含一组Action、Interceptors、Result等组件。package元素有很多属性,包括name、extends、abstract等,具体的属性可以参见官方文档。

<constant>

用于定义全局常量,可以在不同的Action中使用。而不必重复定义和初始化常量。常见的常量有struts.devMode、struts.i18n.encoding和struts.locale等。

<include>

元素可以引入其他XML文件,可以让配置文件更具可读性和可维护性。可以利用避免出现过于庞大和难以维护的配置文件。

struts-default.xml文件

struts-default.xml文件是Struts2框架的一个默认配置文件,用于提供默认的全局拦截器栈、异常处理器、类型转换器等等,也可以被继承、覆盖和扩展。一般情况下,我们不需要修改这个文件的内容。

struts-plugin.xml文件

struts-plugin.xml用于定义Struts2框架的插件,包括标签库(TagLibs)和拦截器(Interceptors)。

示例代码
struts.xml文件示例
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <constant name="struts.devMode" value="true" />
    <constant name="struts.custom.i18n.resources" value="ApplicationResources" />
    <package name="default" extends="struts-default">
        <result-types>
            <result-type name="json" class="org.apache.struts2.json.JSONResult" />
        </result-types>
        <interceptors>
            <interceptor name="loginInterceptor" class="com.example.LoginInterceptor" />
        </interceptors>
        <default-interceptor-ref name="defaultStack" />
        <action name="login" class="com.example.LoginAction">
            <interceptor-ref name="loginInterceptor" />
            <result name="success">/index.jsp</result>
            <result name="input">/login.jsp</result>
        </action>
    </package>
</struts>
struts-default.xml文件示例
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <constant name="struts.i18n.encoding" value="UTF-8" />
    <constant name="struts.objectFactory" value="spring" />
    <constant name="struts.mapper.alwaysSelectFullNamespace" value="false" />
    <constant name="struts.ui.theme" value="simple" />
    <constant name="struts.action.extension" value=",action" />
    <constant name="struts.multipart.parser" value="jakarta-stream" />
    <constant name="struts.multipart.maxSize" value="2097152" />
    <constant name="struts.configuration.xml.reload" value="false" />
    <constant name="struts.freemarker.manager.classname" value="org.apache.struts2.views.freemarker.FreemarkerManager" />
</struts>
struts-plugin.xml文件示例
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <plug-in className="org.apache.struts2.jquery.JQueryPlugin">
        <set name="templatePath">/WEB-INF/content/jquery/</set>
        <set name="defaultTemplateSuffix">.jsp</set>
    </plug-in>
    <plug-in className="org.apache.struts2.jqgrid.JqGridPlugin" />
</struts>

以上就是Struts 2配置文件的介绍,希望能够对您有所帮助。