struts2中改变struts.xml默认路径

 

struts2.X配置文件默认存放路径在/WEB-INF/classes目录下,即将struts.xml放在src的目录下。

但是为了方便管理,开发人员把struts.xml放到其他位置,处理方法如下。

首先要明白struts2加载配置文件都是从自己的jar包和/WEB-INF/classes两个默认的位置加载的。

若修改struts2.x配置文件的存放位置,在web.xml配置过虑器时,具体配置如下:
 
<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

    <init-param> 
        <param-name>config</param-name> 
        <param-value>struts-default.xml,struts-plugin.xml,struts/struts.xml</param-value>

    </init-param>
</filter>

 

注意点1

若设置了<param-name>config</param-name>参数,那struts-default.xml等原来struts2默认加载的文件也要手动指定,否则不会自动加载。

 

注意点2

struts-plugin.xml也需要指定。因为在struts2使用2.1.6版本时:

若需要和spring集成的话,struts2-spring-plugin-2.1.6.jar中有struts-plugin.xml这个文件。

若struts2要支持json的话, json-plugin-0.34.jar中也有一个叫struts-plugin.xm的文件。

因此这个文件也是要加载的。

 

注意点3

采用相对/WEB-INF/classes的相对路径。本例放在了/WEB-INF/classes/struts目录下。当然也可以写成classpath:struts/struts.xml

 

注意点4

若不在这里配置struts-default.xml,struts-plugin.xml,也可以在struts.xml文件中添加include标签将两个文件包括进去。

<include file="struts-default.xml" />和<include file="struts-plugin.xml" />

 

注意点5

使用<include file="..." />标签添加其他子配置文件时,file属性也要是一个相对/WEB-INF/classes的路径。

若子配置文件路径是/WEB-INF/classes/configs/struts/student/struts-config.xml的话,

file属性值应该写configs/struts/student/struts-config.xml。

若有多个子配置文件可以采用扫描的方式<include file="configs/struts/*/*.xml" />

 

原帖地址:http://blog.163.com/wunan_23/blog/static/1955623202011102105925798/

 

时间: 2024-11-03 21:52:26

struts2中改变struts.xml默认路径的相关文章

Struts 2中的struts.xml配置文件

是使用Struts2主要的配置文件,在这个文件中可以配置action,拦截器,result和reslut类型,视图以及视图类型等. 它是我们使用Sturts2开发工作的重点要关注的配置文件.struts.xml文件要放到在src源文件夹,源文件夹的东西将被编译 到classes文件夹下面.struts.xml文件的内容如程序清单所示. <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configurati

Struts2中的struts.multipart.saveDir的配置

<constant name="struts.multipart.saveDir" value="D:\\AsimsTemp"></constant>黑体部分应为"\\",否则回导致action中的自动封装数据失败,从而导致validate中验证出现空指针"NullPointer" 另外: <constant name="struts.multipart.saveDir" va

struts2中不用struts标签,怎么用超链接传入一个ID进入action中

问题描述 在ssh框架中,页面不用struts2标签,当从数据库遍历出一个list的时候,在页面形成了一张表.后跟超链接"删除",那怎么通过传ID进入action来删除数据库中的某一条记录呢? 解决方案 <a href="删除actionUrl?id=<s:property value='对象.id'/>">删除</a>解决方案二:遍历出来的结果每行的对象id肯定是有的,然后按JamesZhao1987 得做法就可用了...用Js

Struts2教程3:struts.xml常用配置解析

在本文中将详细讲述struts.xml文件的常用配置及注意事项. 1.使用<include>标签重用配置文件 在Struts2中提供了一个默认的struts.xml文件,但如果package.action.interceptors等配置比较多时,都放到一个struts.xml文件不太容易维护.因此,就需要将struts.xml文件分成多个配置文件,然后在struts.xml文件中使用<include>标签引用这些配置文件.这样做的优点如下: 结构更清晰,更容易维护配置信息. 配置文

Struts.2.3.20.1配置struts.xml位置的问题

问题描述 Struts.2.3.20.1配置struts.xml位置的问题 我在使用SSH框架时,一开始将struts.xml放在了src文件夹下,整个系统是可以用的,然后我又新建了一个source package:config,把struts.xml放在这包下面也可以使用,然后我又在config包下面新建了一个package:struts2,把struts.xml拖进了struts2包下,并在web.xml中配置了位置信息,如图,发现系统就找不到定义的action了,是什么原因呢? 解决方案

Myeclipse9打开struts.xml出错

问题描述 刚装了Myeclipse9, 用struts2 config editor打开web工程中的struts.xml文件时出错, 显示:引用 解决方案 首先,你看看你的xml在浏览器下能不能正常打开(判断该文件是否是正常的xml文件),再次右键该文件,换一种打开方式在myEclipse下.感觉是你的myeclipse里面对xml解析的插件出了问题.

Spring和Struts2配置文件不在默认路径下的web.xml配置方法

        希望越大,失望越大.朋友遇到struts2配置文件未在默认路径下的web.xml问题,我帮忙解决了很久,也没有从根本上解决.后来经过看struts2的api,仔细琢磨,最终解决了.给正在学习路上的朋友们一下帮助.         看看我项目中配置文件的原本位置         在看看我web.xml的配置         主要看看struts2的配置文件,为什么要加上struts-default.xml和struts-plugin.xml呢.看api的大致意思是说,默认情况下,这

Struts.xml中Action的method与路径的三种匹配方法

原文  http://blog.csdn.net/woshixuye/article/details/7734482 首先我们有一个Action--UserAction public class UserAction extends ActionSupport  {      public String add()      {          return "add";      }     public String modify()      {          return

struts2.0 中struts.xml文件中的错误

问题描述 开发环境:jdk5.0 + myeclipse6.0 + tomcat5.5struts.xml文件配置如下:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.