0 0

struts2导入多个xml,第一个没问题,第二个报错5

struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- 指定Struts 2配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- Struts 2配置文件的根元素 -->
<struts>
	<!-- struts2 默认配置文件,必须加进来 有这里看出,当前文件的路径是跟路径下classes路径,所以其他的文件要从classes这个路径开始找 -->
	<include file="struts-plugin.xml" />
	<include file="struts-default.xml" />
	<!-- 自己添加的配置文件 -->
	<include file="../struts2/struts_user.xml" />
	<include file="../struts2/struts_sign.xml" />
</struts>


struts_user.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- 指定Struts 2配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- Struts 2配置文件的根元素 -->
<struts>
	<!-- 配置了系列常量 -->
	<constant name="struts.i18n.encoding" value="UTF-8" />
	<constant name="struts.devMode" value="true" />

	<package name="Aberic" extends="struts-default">
		<!-- 定义处理用户请求的Action -->
		<action name="login" class="loginAction">
			<!-- 为两个逻辑视图配置视图页面 -->
			<result name="error">/error.jsp</result>
			<result name="success">/admin/admin.jsp</result>
			<interceptor-ref name="sessionstack" />
		</action>
	</package>
</struts>


struts_sign.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- 指定Struts 2配置文件的DTD信息 -->
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- Struts 2配置文件的根元素 -->
<struts>
	<!-- 配置了系列常量 -->
	<constant name="struts.i18n.encoding" value="UTF-8" />
	<constant name="struts.devMode" value="true" />

	<package name="Aberic" extends="struts-default">
		<!-- 定义处理用户请求的Action -->
		<action name="sign" class="PhoneSignAction">
			<!-- 因为仅提供手机签到,故不配置任何视图 -->
			<result type="stream">
				<param name="contentType">text/html</param>
				<param name="inputName">inputStream</param>
			</result>
		</action>
	</package>
</struts>


web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <servlet>
    <servlet-name>proxoolServletConfigurator</servlet-name>
    <servlet-class>
     	   org.logicalcobwebs.proxool.configuration.ServletConfigurator
    	</servlet-class>
    <init-param>
      <param-name>xmlFile</param-name>
      <param-value>WEB-INF/proxool.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/log4j.properties</param-value>
  </context-param>
  <context-param>
    <param-name>log4jRefreshInterval</param-name>
    <param-value>60000</param-value>
  </context-param>
  <listener>
    <listener-class>  
            org.springframework.web.util.Log4jConfigListener  
        </listener-class>
  </listener>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring/applicationContext.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <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,../struts2/struts.xml</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <session-config>
    <session-timeout>30</session-timeout>
  </session-config>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>


因为我配的有spring,所以action中class没有指定类而是交给spring管理了
现在有一个奇怪的问题就是当我把../struts2/struts_user.xml先include进去的时候,就能够成功加载进去,登陆操作无误
当我把../struts2/struts_sign.xml放在../struts2/struts_user.xml上面的时候,就成了签到成功,但登陆却提示找不到action了
总之就是只能有一个生效,这个问题纠结了好几天了

具体报错为There is no action …… namespace[/]……这种

问题补充:补充一条,将struts都存放在src目录下,且修改对应的配置路径还是会出现同样的问题
2014年5月17日 19:20

1个答案 按时间排序 按投票排序

0 0

采纳的答案

题主好。

看了一下配置文件,发现两个配置文件的packageName都是相同的,建议修改成不同的名称试试

2014年5月17日 19:43

相关推荐

    Struts2 框架搭建(基本)和几个报错问题

    Struts2是一个强大的Java Web应用程序框架,用于构建和部署企业级的MVC(Model-View-Controller)架构的Web应用。这个框架简化了开发过程,提供了丰富的特性来处理请求、控制流程、展示视图以及与数据库交互。在本文...

    在老项目中加入struts2,xml报错

    通常,这意味着Struts2尝试使用了一个不适合或不兼容的XML解析器,这里是Oracle的xmlparserv2,它主要用于处理Oracle数据库中的XMLType数据,而不是通用的XML解析。 问题原因: Struts2框架在初始化时,会自动查找...

    struts2-json包集合 不会出现任何报错

    在标题中提到的"struts2-json包集合 不会出现任何报错",意味着这个压缩包集合包含了一组兼容的Struts2和JSON相关的库,可以避免常见的错误,特别是`textutils class找不到`的问题。 在描述中,提到了几个关键的包...

    Struts2中Struts.xml配置文件详解

    Package 元素是 Struts.xml 文件中的一个基本元素,用于定义一个应用程序的模块。Package 元素可以扩展自其他 Package,以便于实现继承和重用代码。在 Package 元素中,我们可以定义 namespace、extends、abstract ...

    解决Struts2中下载文件时点击取消按钮后台报错问题

    以下是一个简单的Struts2 Action 示例: ```java public class FileDownloadAction extends ActionSupport { private File file; private String filename; private String contentType; // getters and ...

    Struts2导入

    // 通常从第一个工作表开始读取 // 遍历行和列,读取数据 } catch (IOException e) { // 错误处理 } // 返回结果代码,如"success"或"error" } ``` 5. **数据处理与验证**:遍历Excel文件中的每一行,将数据...

    Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex

    Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex Ajax struts2 xml flex

    struts2 jquery xml

    Struts2 jQuery XML 是一个基于Java的Web开发框架的组合,它将Apache Struts2的MVC架构与jQuery库结合,提供了丰富的用户界面组件和更流畅的AJAX交互。Struts2是一个强大的、灵活的MVC框架,而jQuery则简化了...

    struts2 poi 导入xls xlsx 绝对兼容

    1. **上传文件**:在Struts2的Action中,定义一个FileUpload类,使用Struts2的`@FileUpload`注解来处理文件上传请求。 2. **解析文件**:读取上传的Excel文件,创建对应的HSSFWorkbook或XSSFWorkbook对象,然后遍历...

    Struts2 Excel导入导出数据

    2. **编写Action**:创建一个Struts2 Action类,包含一个方法用于导出数据到Excel,另一个方法用于处理Excel导入。导出时,从Oracle查询数据,然后使用POI创建Excel工作簿和工作表,将数据填充到单元格中。导入时,...

    struts2一个action处理多个请求 struts2实例

    如果希望一个Action处理多个请求,可以在同一个`&lt;action&gt;`元素内添加多个`&lt;result&gt;`子元素,每个`&lt;result&gt;`对应一个不同的请求。例如: ```xml &lt;result name="success"&gt;/success.jsp &lt;result name="error"&gt;/...

    struts 2 源码 导入eclipse工程

    Struts 2是一个基于MVC(Model-View-Controller)设计模式的开源Java Web框架,由Apache软件基金会维护。它提供了强大的控制层,使得开发者能够更有效地构建动态、数据驱动的Web应用程序。Eclipse是一款广泛使用的...

    Struts2中struts_xml的Action配置详解

    Struts2作为一款强大的MVC框架,其核心配置文件`struts.xml`在应用程序中扮演着至关重要的角色。本文将深入解析`struts.xml`中的Action配置,帮助开发者更好地理解和运用这一关键组件。 首先,Action配置是Struts2...

    struts2库的导入

    Struts2库是Java Web开发中的一个核心框架,它基于MVC(Model-View-Controller)设计模式,为开发者提供了一种结构化、易于维护的Web应用开发方式。本篇文章将详细阐述如何导入Struts2库,以及在项目中设置自定义的...

    struts2 xml

    Struts2是一个强大的MVC框架,它以XML配置文件为核心,允许开发者定义应用程序的行为和结构。在Struts2中,XML配置文件(通常命名为struts.xml)是整个框架的基石,它负责设置Action、拦截器、结果页面以及其他关键...

    Struts struts-config.xml配置

    ### Struts struts-config.xml配置详解 #### 一、引言 在Java Web开发领域,Struts框架一直是构建MVC架构应用的重要工具之一。而`struts-config.xml`配置文件则是Struts应用的核心配置文件,它负责管理Struts应用中...

    struts2官方例子7-表单验证 xml形式的验证

    Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java Web开发中。在Struts2中,表单验证是非常重要的一个环节,它确保了用户输入的数据符合预设的规则,从而保证了应用程序的数据质量和安全性。本示例...

    struts2如何生成XML文件

    1. **Struts2框架**:Struts2是基于MVC模式的一个开源Web应用框架,它继承了Struts1的优点,并且在许多方面进行了改进,如拦截器机制、统一异常处理、类型转换等。 2. **XML**:一种用于标记电子文档的语言,其设计...

    struts2的web.xml配置文件

    以前和struts2一起使用的配置文件,struts2的核心控制器

    struts核心jar包及xml配置文件

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java web应用程序框架,它极大地简化了在Java平台上构建动态网站的过程。本压缩包包含了Struts2的核心库jar文件以及相关的XML配置文件,这些都是开发Struts...

Global site tag (gtag.js) - Google Analytics