struts struts-config.xml动作映射解释

时间:2016-04-06 17:35:48

标签: struts-1 struts-config

我是Struts框架的菜鸟。我试图了解动作映射是如何工作的。假设我有一个发送AJAX请求的JavaScript文件:

$("button").click(function(){
    $.ajax({url: "myTestUrl.do", success: function(result){
        //do something with result
    });
});

我的struts-config.xml文件如下所示:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
    <form-beans>
        <form-bean name="testForm" type="com.test.TestForm"/>       
    </form-beans>

    <!-- Global Forwards -->    
    <global-forwards>
    </global-forwards>

    <!-- Action Mappings -->
    <action-mappings>

        <action path="/myTestUrl" 
                type="com.test.TestAction" 
                name="testForm" 
                scope="request" />

    </action-mappings>
    <controller locale="true"/>
</struts-config>

我不理解actionform-bean之间的关系。我的请求是否由TestAction处理?如果是这样,表单bean type属性的目的是什么?

更新

对于需要对struts MCV框架进行全面概述的任何人,请查看以下链接:http://www.javaranch.com/journal/2002/03/newslettermar2002.jsp#struts

1 个答案:

答案 0 :(得分:3)

关系由操作配置中的name属性进行。因此,如果您使用name="testForm",那么名称为testForm的表单bean将被注入到操作的execute方法中。

如果相对url与action config中的路径值匹配,并且您已在servlet映射模式中将操作servlet映射到*.do,则可能会处理您的请求。

type的{​​{1}}属性用于输入可能扩展<form-bean>的bean类的FQCN。 Struts需要能够在需要时实例化bean。