<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
        "http://struts.apache.org/dtds/struts-config_1_3.dtd">

<struts-config>

    <form-beans>
        <form-bean
                name="BaseForm"
                type="org.apache.struts.validator.DynaValidatorForm">
            <form-property
                    name="username"
                    type="java.lang.String"/>
            <form-property
                    name="password"
                    type="java.lang.String"/>
            <!-- Lab 2-1: Add task property -->
            <form-property
                    name="task"
                    type="java.lang.String"
                    initial="Create"/>
        </form-bean>
    </form-beans>

    <action-mappings
            type="org.apache.struts.action.RequestActionMapping">

        <action path="/MainMenu"
                forward="/MainMenu.jsp"
                validate="false"/>

    </action-mappings>

    <controller
            inputForward="true"/>

    <message-resources
            parameter="MessageResources"/>

    <plug-in
            className="org.apache.struts.apps.mailreader.course.MemoryDatabasePlugIn">
        <set-property
                property="pathname"
                value="/WEB-INF/database.xml"/>
    </plug-in>

    <plug-in
            className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property
                property="pathnames"
                value="/org/apache/struts/validator/validator-rules.xml,
                /WEB-INF/Logon-validate.xml,/WEB-INF/Register-validate.xml"
                />
    </plug-in>

</struts-config>
