<?xml version="1.0" encoding="UTF-8" ?>
<!--
/*
 * $Id: pom.xml 559206 2007-07-24 21:01:18Z apetrelli $
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
-->

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
        
<!-- Used by the TestStrutsFactory TestCase. -->
<struts>
    <bean class="com.opensymphony.xwork2.ObjectFactory" name="default" />
	<bean type="com.opensymphony.xwork2.ActionProxyFactory" name="default" class="com.opensymphony.xwork2.DefaultActionProxyFactory"/>
	<constant name="devMode" value="false" />
  <package name="org/apache/struts2/s1" namespace="/org/apache/struts2/s1">
    <result-types>
      <result-type class="org.apache.struts2.dispatcher.ServletDispatcherResult" name="servletDispatcherResult"/>
    </result-types>
    <global-results>
      <result name="globalResult" type="servletDispatcherResult">
        <param name="location">noexist.jsp</param>
      </result>
    </global-results>
    <global-exception-mappings>
      <exception-mapping
        name="globalException"
        exception="java.lang.Exception"
        result="globalResult"/>
    </global-exception-mappings>
    <action class="com.opensymphony.xwork2.ActionSupport" name="action1">
      <result name="result1" type="servletDispatcherResult">
        <param name="location">result1.jsp</param>
      </result>
      <result name="result2" type="servletDispatcherResult">
        <param name="location">result1.jsp</param>
      </result>
      <exception-mapping
        name="exception1"
        exception="java.lang.NullPointerException"
        result="someResult"/>
      <exception-mapping
        name="exception2"
        exception="java.lang.IllegalStateException"
        result="anotherResult"/>
    </action>
    <action class="com.opensymphony.xwork2.ActionSupport" name="action2"/>
  </package>
</struts>

