struts2小结

        访问struts2的Action的方法有超链接(<a href="first.action">请求struts2</a>),表单提交等多种形式

        struts2的struts.xml中package的namespace是逻辑地址,与webcontent下存放jsp的文件名无关

        一、struts2的Action的工作流程:

                   jsp或html的表单提交——>

                   web.xml中配置的struts2过滤器根据表单action的内容进行过滤——>

                    先根据struts.xml中的action的name和class找到对应的actioin类——>

                    在action类中进行业务功能,并返回相应的值——>

                    struts.xml根据相应的值和处理结果——>

                   跳转到相应的jsp页面

        二、Action接收来自表单的数据的方法(都是IOC注入):(推荐使用ModelDriven,最方便)

                    方法1.表单提交的数据⾃自动注⼊入action的相应属性(提供getter/setter⽅方法)

                    方法2.使⽤用DomainModel接收表单提交的数据

                    方法3.使⽤用ModelDriven来接收表单数据

       三、一个action中不同业务逻辑处理方法的调用:(execute一般是用于单一业务逻辑,就算写成多个逻辑也很麻烦)

                   方法1.动态action正常的形式

                        action类中写不同业务逻辑的处理方法,jsp的表单中action="actionname!方法"

                    方法2.在struts.xml中配置action的method属性

                        action中内容为<action name="name1 " class="classname" method="方法1">

                                                                        ........    

                                                 </action>

                                                <action name="name2" class="classname" method="方法2">

                                                                        ........

                                                 </action>

                                                 ..................                       

                        jsp的表单中action="action"(不需再写方法,因为struts.xml中规定访问这个action时直接调用这个action的某个方法)

                    方法3.使⽤用通配符 

       四、 在实际应用中,为了实现不同业务模块的划分通常使用namespace(webcontent中的jsp也是按模块划分),不写默认是根目录/。

                        struts.xml中<package name=" " namespace="/或者/user等" extends="struts-default">

                                        ..........(中可写多个action)

                                        </package>

                        jsp的表单中action="user/check.action>

                            或超链接中<a href="admin/check.action>admin</a>

        五、可在jsp中使用request/session/application展示信息

                    方法1.使用Map对象                 

                      在action类中 添加构造函数并在其中给request/session/application赋值,在execute()或业务处理方法中给request/session/application添加键值对

                        在jsp中使用request/session/application展示信息

                    方法2.实现RequestAware接口

猜你喜欢

转载自blog.csdn.net/adnap7/article/details/80468193