idea+maven+Struts2 之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>
    <!--修改struts action访问时的后缀,默认为.action;可以省略;多个可以使用英文逗号隔开-->
    <constant name="struts.action.extension" value="action,do,html"></constant>
    <!--include节点是Struts2中组件化的方式,可以将每个功能独立到一个xml配置文件中,
   然后通过include节点引用-->
    <include file="/struts_index.xml"></include>

     <!--package提供了将多个Action组织为一个模块的方式
         package的名字必须是唯一的package可以扩展 当一个package扩展自另一个
         package的时候package会在本身配置的基础上加入扩展的package的配置父package
         必须在子package前配置
         name:package名称
         extends:继承的父package名称
         abstract:设置package的属性为抽象的package不能定义action
         namespace:定义package命名空间 该命名空间影响url的地址,例如:
         namespace="/test" 那么访问路径为http://localhost:8080/ssh/test/login
         其中后缀.action可以省略
         -->
    <package name="null" extends="struts-default" namespace="/test">
        <interceptors>
            <!--定义拦截器
                name:拦截器名称
                class:拦截器类路径
                -->
            <interceptor name="timer" class="com.zxr.timer"></interceptor>
            <interceptor name="logger" class="com.zxr.Logger"></interceptor>
            <!--定义拦截器栈-->
            <interceptor-stack name="mystack">
                <interceptor-ref name="timer"></interceptor-ref>
                <interceptor-ref name="logger"></interceptor-ref>
            </interceptor-stack>
        </interceptors>
        <!--定义默认的拦截器每个Action都会自动引用,
        如果Action中引用了其它拦截器 默认拦截器将无效-->
        <default-action-ref name="login"></default-action-ref>

        <!--全局results配置-->
        <global-results>
            <result name="input">/error.jsp</result>
        </global-results>

        <!--
        Action配置一个Action可以被多次映射(只要action配置中的name不同)
        name:action名称
        class:对应的类的路径
        method:调用Action中的方法
        -->
        <action name="login" class="com.zxr.action.LoginAction" method="success">
            <!--引用拦截器
            name:拦截器名称或拦截器栈名称
            <interceptor-ref name="timer"></interceptor-ref>
            -->

          <!--  节点配置
            name:result名称 和Action中返回的值相同
            type:result类型 不写则选择superpackage的type struts-default.xml中默认的type
            -->
            <result name="success">/jsp/success.jsp</result>

            <!--参数设置
            name:对应Action中的get/set方法
            -->
            <param name="url">http://www.sina.com</param>

        </action>

    </package>
    <package name="demo" namespace="/" extends="struts-default">

        <!--配置默认的action-->
        <default-action-ref name="index"></default-action-ref>
        <action name="index">
            <result>/jsp/error/error.jsp</result>
        </action>

        <!--没有指定action中的方法,调用action中的默认方法execute-->
        <action name="demoAction" class="com.zxr.action.IndexAction">
            <result name="success">/jsp/index.jsp</result>
        </action>
        <!--指定方式调用action中的方法通过 method="对应的方法" 指定所要调用的方法-->
        <action name="addAction" class="com.zxr.action.IndexAction" method="add">
            <result name="add">/jsp/add.jsp</result>
        </action>
        <!--使用!调用action中的方法 http://localhost:8080/gthAction!add.action
          struts2 2.5版本必须配置 <allowed-methods>add,edit</allowed-methods> 否则无法通过匹配符访问
          【一般不推荐使用此方法】
        -->
        <action name="gthAction" class="com.zxr.action.IndexAction">
            <result name="add">/jsp/add.jsp</result>
            <result name="edit">/jsp/edit.jsp</result>
            <result name="success">/jsp/success.jsp</result>
            <allowed-methods>add,edit</allowed-methods>
        </action>
        <!--使用通配符调用action中的方法 【提倡使用】
            *表示匹配的参数
            {1}表示匹配第一个参数
            struts2 2.5版本必须配置 <allowed-methods>add,edit</allowed-methods> 否则无法通过匹配符访问
        -->
        <action name="tpfAction_*" class="com.zxr.action.IndexAction" method="{1}">
            <result name="add">/jsp/{1}.jsp</result>
            <result name="edit">/jsp/{1}.jsp</result>
            <result name="success">/jsp/index.jsp</result>
            <allowed-methods>add,edit</allowed-methods>
        </action>
         <!--通过全局通配符的方式动态的调用action和action中的方法 【提倡使用】
          第一个匹配符必须和action中类名相同
          http://localhost:8080/Index_add    Index为IndexAction的Index ;add为IndexAction中的方法
         -->
        <action name="*_*" class="com.zxr.action.{1}Action" method="{2}">
            <result name="add">/jsp/{2}.jsp</result>
            <result name="edit">/jsp/{2}.jsp</result>
            <result name="success">/jsp/index.jsp</result>
            <allowed-methods>add,edit</allowed-methods>
        </action>

    </package>

    <!--使用!调用方法时必须添加此配置
     访问方式:
    -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

</struts>

原文地址:https://www.cnblogs.com/binkai/p/9975104.html

时间: 2024-10-07 04:51:26

idea+maven+Struts2 之struts.xml中标签介绍的相关文章

struts2在struts.xml中为返回的页面配参数时出现Invalid result location value/parameter

在学ognl表达式时,在struts.xml中为返回的页面配参数时,出现Invalid result location value/parameter,但参数可以传过去,原因是:MyEclipse肯定在普通验证xml方法之外加了Struts的特殊检验规则,解决办法: 去掉build较检,保留手动较检,这样当实在是需要MyEclipse提供的Struts2较检的时候手动较检一下.

struts2配置文件(struts.xml)中相关属性的设置

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!-- act

Struts2初学 Struts.xml详解二

A.使用继承实现设置全局视图    package节点中还可以设置全局的视图,如:     <global-results>         <result name="err">/err.jsp</result> </global-results> 但如果其他包也想实现这样的视图,就需要使用继承的方式实现,如: <package name="base" namespace="" extend

在Struts.xml中的result元素指的是:指定动作类的动作方法执行完后的结果视图.

result结果集 上一篇文章主要讲Struts2框架(4)---Action类访问servlet这篇主要讲result结果集 在Struts.xml中的result元素指的是:指定动作类的动作方法执行完后的结果视图. (1)局部结果和全局结果 他有两个属性: name:字符串,与动作方法返回的值一致.默认是success type:指定处理结果的结果类型的别名.默认值是dispatcher 首先处理结果分为两种,一种是局部结果一种是全局结果. 局部结果: <action name="lo

Struts2 配置文件struts.xml详解

我们先来看一段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"> <stru

struts2总结三:struts2配置文件struts.xml的简单总结

一.struts中的常量constant的配置,在struts2中同一个常量的配置有三种方式,第一种在struts.xml中,第二种在struts.properties中配置,第三种在web.xml中配置. 以配置struts2为开发模式为例: 1.在struts.xml中配置 <constant name="struts.devMode" value="true"></constant> 2.在struts.properties中配置 st

struts2配置文件struts.xml的目录问题

struts2的配置文件struts.xml默认是直接在src目录下.这样我们在部署描述符web.xml中,指定struts2的过滤器时,直接如 清单一: <filter>   <filter-name>struts2</filter-name>   <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>  </filter>  <f

struts2——配置struts.xml文件

在struts2框架中struts.xml是应当放到src的根目录,程序编译后会将struts.xml放到WEB-INF/classes目录下. Struts2在web.xml中的一般配置如下: Xml代码   <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFil

struts.xml中可以使用el表达式和ognl表达式

转自:http://blog.csdn.net/hzc543806053/article/details/7538723 文件上传链接: 1)Servlet 文件上传 ----  点击打开链接 2)Struts2 文件上传 ---- 点击打开链接 文件下载是一个很常见的功能,用struts2实现文件下载的步骤: 一)定义一个Action类,FileDownload.java [java] view plaincopy package com.struts2.filedownload; impor