MappingDispatchAction 学习

简介:
1. MappingDispatchAction的作用域LookupAction的作用差不多相同,但是在应用上稍微有些差别。
 
1.Struts-config.xml
                <action path= "/mapping-invalid"    
                                type= "org.apache.struts.webapp.dispatch.MappingDispatchExampleAction" 
                                parameter= "doInvalid" 
                                name= "testForm" 
                                scope= "request"
                        <exception key= "dispatch.NoSuchMethodException" 
                                             type= "java.lang.NoSuchMethodException" 
                                             path= "/mapping.jsp"/> 
                        <exception key= "dispatch.ServletException" 
                                             type= "javax.servlet.ServletException" 
                                             path= "/mapping.jsp"/> 
                        <forward name= "success" path= "/mapping.jsp"/> 
                </action> 
                <action path= "/mapping-execute"    
                                type= "org.apache.struts.webapp.dispatch.MappingDispatchExampleAction" 
                                parameter= "execute" 
                                name= "testForm" 
                                scope= "request"
                        <exception key= "dispatch.NoSuchMethodException" 
                                             type= "java.lang.NoSuchMethodException" 
                                             path= "/mapping.jsp"/> 
                        <exception key= "dispatch.ServletException" 
                                             type= "javax.servlet.ServletException" 
                                             path= "/mapping.jsp"/> 
                        <forward name= "success" path= "/mapping.jsp"/> 
                </action> 
                <action path= "/mapping-noparam"    
                                type= "org.apache.struts.webapp.dispatch.MappingDispatchExampleAction" 
                                name= "testForm" 
                                scope= "request"
                        <exception key= "dispatch.ServletException" 
                                             type= "javax.servlet.ServletException" 
                                             path= "/mapping.jsp"/> 
                        <forward name= "success" path= "/mapping.jsp"/> 
                </action>
 
主要的工作就是在这里。只不过不同的url 都是指到同一个Action中。使用【parameter】参数来表示不同的url 以访问Action中不同的方法,实现不同的业务逻辑。
 
 
2.然后在JSP 前台页面中,分别提交
    <html:form action= "mapping-foo" style= "display:inline"
                            <html:submit><bean:message key= "button.foo.label" /></html:submit> 
                    </html:form> 
                              
                    <html:form action= "mapping-bar" style= "display:inline"
                            <html:submit><bean:message key= "button.bar.label" /></html:submit> 
                    </html:form> 
                              
                    <html:form action= "mapping-invalid" style= "display:inline"
                            <html:submit><bean:message key= "button.invalid.label" /></html:submit> 
                    </html:form> 
                              
                    <html:form action= "mapping-execute" style= "display:inline"
                            <html:submit><bean:message key= "method.execute.label" /></html:submit> 
                    </html:form> 
                              
                    <html:form action= "mapping-noparam" style= "display:inline"
                            <html:submit><bean:message key= "parameter.missing.label" /></html:submit> 
                    </html:form>
 
这跟表单提交的目标地址,实现访问同一个Action中不同的方法。
 
1、发生的异常 和 LookupDispatcherAction、DispatcherAction的异常一致。



本文转自 randy_shandong 51CTO博客,原文链接:http://blog.51cto.com/dba10g/240832,如需转载请自行联系原作者
相关文章
|
前端开发 Java 开发者
Dispatch 设计| 学习笔记
快速学习 Dispatch 设计。
132 0
Dispatch 设计| 学习笔记
|
前端开发 Java 开发者
Dispatch设计|学习笔记
快速学习Dispatch设计
Dispatch设计|学习笔记
Dispatcher中Invoke与BeginInvoke
原文:Dispatcher中Invoke与BeginInvoke [同步]Invoke Application.Current.Dispatcher.Invoke(AutoIncreaseNumber); [异步]BeginInvoke Application.
1089 0