struts.xml放在哪里

发布于 2024-07-19 06:40:54 字数 361 浏览 3 评论 0原文

对于 Struts2,我们必须在类路径中包含 struts.xml,因此将其放在 WEB-INF 下不再有效。 因此,我部署项目的方法是将其粘贴在 WEB-INF/classes 下,并使其包含 ../struts2.xml

2 问题:

  1. Eclipse 清除了当我重建时,类文件夹,所以它 删除 struts.xml
  2. Eclipse 不会在我的项目浏览器中显示类文件夹,因此 首先,它是一个不好的地方来放置配置文件。

你们的 Struts2 Eclipse 开发人员是如何做到这一点的?

With Struts2 we have to have struts.xml in the class path, so it no longer works to have it under WEB-INF. So the way I got my project to deploy was to stick it under WEB-INF/classes and have it include ../struts2.xml

2 Problems:

  1. Eclipse cleans out the classes folder when I do a rebuild, so it
    deletes struts.xml
  2. Eclipse doesn't show the classes folder in my project browser, so
    its a poor place to stick config files in the first place.

How are you Struts2 Eclipse developers doing this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

墨小墨 2024-07-26 06:40:54

您可以将 struts.xml 放在源目录的根目录中,也可以设置一个额外的资源源目录并将其放在那里。 Eclipse 在进行编译时非常乐意将其复制到 WEB-INF/classes 中。

You can either just put the struts.xml at the root of your source directory or set up an additional resources source directory and put it there. Eclipse quite happily copies it to WEB-INF/classes for you when it does a compilation.

稳稳的幸福 2024-07-26 06:40:54

我来晚了,我们可以在 Web 应用程序的类路径中的任何目录中配置 struts.xml,但使用 web.xml 中过滤器配置的“config”init 参数提供位置,如下所示,如果我的 struts .xml 文件位于“/com/resources/”目录中。

   <filter>
        <filter-name>action</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,/com/resources/struts.xml</param-value>
         </init-param>
    </filter>

如果我们不提供配置初始化参数,struts2默认采用3个值“struts-default.xml,struts-plugin.xml,struts.xml”,您可以看到下面的struts2 Dispatcher类代码,它将配置这3个文件配置管理器。

String configPaths = (String)this.initParams.get("config");
if (configPaths == null) {
  configPaths = "struts-default.xml,struts-plugin.xml,struts.xml";
}
String[] files = configPaths.split("\\s*[,]\\s*");
for (String file : files)
  if (file.endsWith(".xml")) {
    if ("xwork.xml".equals(file))
      this.configurationManager.addContainerProvider(createXmlConfigurationProvider(file, false));
    else
      this.configurationManager.addContainerProvider(createStrutsXmlConfigurationProvider(file, false, this.servletContext));
  }

I am late to the party, we can configure the struts.xml in any directory in the classpath of the web application, but provide the location using the "config" init parameter of the filter configuration in web.xml as below, if my struts.xml file is in "/com/resources/" directory.

   <filter>
        <filter-name>action</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,/com/resources/struts.xml</param-value>
         </init-param>
    </filter>

If we don't provide a config init parameter struts2 by default takes 3 values "struts-default.xml,struts-plugin.xml,struts.xml", you can see the struts2 Dispatcher class code below which will configure these 3 files to the configuration manager.

String configPaths = (String)this.initParams.get("config");
if (configPaths == null) {
  configPaths = "struts-default.xml,struts-plugin.xml,struts.xml";
}
String[] files = configPaths.split("\\s*[,]\\s*");
for (String file : files)
  if (file.endsWith(".xml")) {
    if ("xwork.xml".equals(file))
      this.configurationManager.addContainerProvider(createXmlConfigurationProvider(file, false));
    else
      this.configurationManager.addContainerProvider(createStrutsXmlConfigurationProvider(file, false, this.servletContext));
  }
往事风中埋 2024-07-26 06:40:54

对于 Struts 1.2,需要将 struts-config.xml 放在类路径中(在 WEB-INF 文件夹下),但对于 Struts 2.0,需要将其放在 src/main/resources 文件夹中。

请参阅文档 Struts 2 Documentation 这里

我将struts.xml粘贴到这个目录中,项目执行得很好。

我的项目结构看起来像这样

With Struts 1.2, it was required to put the struts-config.xml in the classpath (under WEB-INF folder) but with Struts 2.0, it is required to be in src/main/resources folder.

See the documentation Struts 2 Documentation here

I pasted struts.xml in this directory and the project executed fine.

My project structure looks like this

过度放纵 2024-07-26 06:40:54

我没有使用 Eclipse,所以这个答案并不特定于您的要求,但是,我使用 Maven,所以我们在一个名为“资源”的单独文件夹中拥有应用程序所需的所有“资源”,并且在构建应用程序时,这些文件是自动复制到合适的地方。 在 Netbeans 中,文件夹中的文件可用,并且我知道有人使用 eclipse 进行类似的设置。

我应该指出,我们的项目是从 appfuse 开始的,所以大多数配置都是预先做好的。 你可以看看那里是如何完成的。

I am not using Eclipse so this answer is not specific to your requirements but, I use Maven so we have all the "resources" that are needed by the application in a seperate folder called "resources" and When the application is built these files are copied into the appropriate places automatically. In Netbeans the files in the folder are available and I know that there are persons using eclipse with a similar setup.

I should point out that our project started from appfuse so most of these configurations were pre made. You can look at how it was done there.

岁月苍老的讽刺 2024-07-26 06:40:54

在 struts 2 项目中,struts.xml 文件与包和库一起添加到 src(Java Resources) 文件夹中。

请参考下面给出的图片。

Eclipse 中的 Struts 2 项目目录视图

如果您想了解有关 struts 2 项目结构的更多信息,请访问 此链接

注意:在eclipse中,不允许将文件直接粘贴到src文件夹中。 因此,您需要首先将其粘贴到项目中的任何其他位置(例如,在“WebContent”文件夹中),然后使用移动功能将其放在正确的位置(即“src”文件夹)。

In struts 2 projects, struts.xml file is added in src(Java Resources) folder along with the packages and libraries.

Please refer the image given below.

Struts 2 project directory view in eclipse

If u want to know more about struts 2 project structure please visit this link

Note: In eclipse, you are not allowed to paste a file directly in src folder. So you need to first paste it in any other place in the project( for example, in 'WebContent' folder), then use move functionality to put it in right place( That is 'src' folder).

倦话 2024-07-26 06:40:54

您可以将struts.xml文件放在src(Java资源)包中。
编译过程的时候会在ROOT/WEB-INF/classes目录里面生成struts.xml文件。

如果您一次又一次地遇到相同的错误,最好检查 struts 操作。
检查应用程序的部署路径,您可以找到您想要的内容。
(struts.xml 文件)

You can place struts.xml file in src(Java Resources) packages.
When the compilation process struts.xml file will generate inside the ROOT/WEB-INF/classes directory.

if you get the same error again and again better check the struts actions.
check the deployed path of the application and you can find out what you want.
(struts.xml file)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文