计应134(实验班) 李佳鸿
在RequestProcessor类预处理请求时,在创建了Action的实例后,就调用自身的processActionPerform()方法,该方法再调用Action类的execute()。
Action的execute()方法调用模型的业务方法,完成用户请求,然后根据执行结果把请求转发给其他合适的WEB组件。
1.什么是线程安全的代码 在多线程环境下能正确执行的代码就是线程安全的。 安全的意思是能正确执行,否则后果是程序执行错误,可能出现各种异常情况。
2.如何编写线程安全的代码 很多相关的书籍里都详细的讲解如何同步线程对共享资源的使用以及synchronized关键字的各种用法,锁的概念等。 Java1.5中也提供读写锁这类的工具类。这些都需要较高的技巧,而且相对难于调试。 但是,线程同步是不得以的方法,是比较复杂的,而且会带来性能的损失。等效的代码中,如不需要同步在编写的容易度和性能上会更好些。 我接下来强调的是什么代码是线程安全的、是不需要同步的。
2)对构造器的访问(new 操作)是线程安全的,因为每次都新建一个实例,不会访问共享的资源。
3)最重要的是:局部变量是线程安全的。因为每执行一个方法,都会在独立的空间创建局部变量,它不是共享的资源。局部变量包括方法的参数变量。
Servlet是在多线程环境下的。即可能有多个请求发给一个servlet实例,每个请求是一个线程。 struts1下的action也类似,同样在多线程环境下,你也必须编写线程安全的Action类(不过这一问题在struts下已经解决)。 保证线程安全的原则就是仅仅使用局部变量,谨慎使用实例变量(拥有状态的实例,尤其是拥有业务对象状态的实例). 如果要用到那些有状态的实例,唯一和最好的办法是在Action类中,仅仅在Action类的execute()方法中使用局部变量,对于每个调用execute()方法的线程,JVM会在每个线程的堆栈中创建局部变量,因此每个线程拥有独立的局部变量,不会被其他线程共享.当线程执行完execute()方法后,它的局部变量就会被销毁. 如果Action类的实例变量是必须的话,需要采用JAVA同步机制(synchronized)对访问共享资源的代码块进行同步。
三、Struts1的几种Action Struts提供了一些现成的Action类,直接使用可以大大节省时间,如下 ForwardAction 可以转发到其他web组件,仅仅提供一个转发功能,不作处理。 IncludeAction 包含其他web组件。 DiapatchAction 通常一个Action只完成一个操作,用这个Action可以完成一组相关的操作。 LookupDispatchAction 他是DiapatchAction的子类,也可以定义多个方法,但主要用于一个表单里有多个按钮,而这些按钮又有一个共同的名字的场合。 SwitchAction 用于子模块之间的切换。
四.ActionForward类 Action类的execute()方法返回一个ActionForward对象,它代表了web资源的逻辑抽象,这里的web资源可以是jsp页面、 Java servlet、或Action。 从execute返回ActionForward可以有两种方法。
1) 动态创建一个ActionForward实例 return new ActionForward(”Failure”,”login.jsp”,true);
2) 调用ActionMapping实例的findForward方法 这个方法先从action级别找,然后在<global-forwards />级别找 return mapping.findForward(“Failure”);
一.Action的创建
Struts2中的Action类用来接收用户请求,然后调用模型组件去处理业务逻辑,最后返回一个字符串,Struts2框架会根据字符串的值调用相应的页面进行显示。
Action类中包含一个execute方法,在业务控制器处理完用户请求后,根据不同的处理结果返回不同的字符串。
在Struts2中,Action以多种方式存在,例如Java类充当Action、继承ActionSupport实现Action接口和Action。
Struts2配置Action如下图:
![](data:image/png;base64,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)
处理请求的类的代码如下图:
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvwAAAHwCAIAAABVECw+AAAgAElEQVR4nO3dO47cyoLm8djNDA7Ra9AK+gJjhF1rSGCckUOuIK28VhvCmBOO3PZSVqIhuZTVhgTUNRppCYNrD8fgK95BMpmVJOP/A3FwKvkKMqmKryKCpPjz508DAABwdILQAwAAckDoAQAAWXhy6FHnUshSyFLenrgXAACAlA9o6bkpQg8AAHg1Qg8AAMiC+PPnz6XtgSrUvQ0oQpZCXqr3YaF7dSr7z0shS3Gu7e2MK5bidFXqIk7XWpvVhp5aXcztJ7dcy35Woe7j6t1i5upuqfyqQrSk6j9S0vioHhaxltMXLap2f8PCvsWMzwAAwOt0LT21lGVxVkWfG9p4EWieqaWZMNTZDEnv10KW3tCjzqWQKpwDzC2b26mVkueLtqM2Dw1bs36Mq4o+soz7roqi8i6spBD6rLoqhLm6ksJel9ADAMC2aKFnjClN08QCyr06aQu/X4u2lSi0QB961DnZGGOs6BSgbdfpQo+dtPwlCamroo0jVdEHGiWdHKQtbWYaKwZVBeEGAICt01t6zLhQK61ZpW100Scj05jhw6L1fHmajoJbNpOTvS+nX2xmJ5eSQqo2zbStPu0H2myTryGnW95cEwAAbNOUlp6bEkYk8jfkGN6vxdBI0y3Qj87RQ0l0y25Tk966k+opS1GyqOqqKKq6/W/f9NMYgabl6/lq+7gab0/ZOM6HNAQAwFaYY3pknz/aMT1tHDGafIZH74wJyeh10j6xQk8zNs+Mw3SiW/aNDbIbn7Sg1g1znj6cWRZtXqmroii0WGM13SjpaenpPpfS38xTFdpIZwAAsAFm95Zzd1VneMagkGWh6qFraWjg0VY0govzcMLxbqw2FaW2rHVjnWsrJHk6uazusJihqaZpGntkstm7Jau23cZON3U7IMjdY3AGAAB4mfCYng1yQs9r1YEBzHqcAgAAG7Gn0GPfKv9iStKaAwDAfmgPJ5z5iL8PYd3btYmyWXd2MVYZAIBd4C3rAAAgC4QeAACQBUIPAADIAqEHAABkgdCDLapSXl1AAMD+ZBB63Jei79yrjucj9xuPNYQeAMACZuhpn4/seS3oC71fi8ceSJhL6BlvpX/S0RJ6AAC7tv3Q432h6XH5Xm46fwNzoonzRvmVnzy06IgIPQCA1W2/e4vQs2ADC9pjlP/VqY8j9AAAtqEPPfobQ/X3UfQvBL1Uqg8f2tvOh7UKde8/t19Wam3cfCfo+P5RedPeRdo+edl6HHNg4wF1+5LQUPuFNVubqc+Ryv05tu6kIvUJoN/MEFGcJhf77e6TOrCeEHpS+zVOiP7i+eQRGYvpuyf0AABWZ7X0vF8L5yVcXWQ5110KOV3r9vXmXXyppSyLsyr6d0S0y5uvSR+SivVj0zTNmJbaLdyUscAaLT2hV4P2lHTjhbF8ZH1n3VRJzIXtiDKhXSQea57X0hPYspJ6XlHSzoHpIyL0AAA+wtTQo1Q/V96axgk9ZvtN2z6kVOONLM57Q9vQE3qv1keEHrdiNir4eLU9q/vmmKEnukO6twAA2zAx9Iz9TUo1jRt6fDlp6P9SVl06RqJWPNY8KfQ4PS92xTyGACcOJNeNlmQnocfdTHDL5vnwrja3NIQeAMDqpoWe7pP3a9EFnaktPUP60ejrNk3zitBj9sg0/oq5a8GwZ01aN1aS44Ueezvzzk8/IsjcO6EHALC2SaFHdanl/doP3PGM6ZH9Wu2Ynn4j9iAedfaP6QnGmrFPbdj47Mf2eEKPnYE8rTV1VRjDcues2zV+OCHBeGhQu5ATesbtuwNkukUWhp5QqTzHNTX0uI1o9gepI6oKT5EIPQCA1bWhx3+fVFmo+3j31nu/2Lnuo0zbnNN1b2m3aE2+e2u84av0L+BbbEGrj1szmz0ysmpbG+x84Q8dU9YNxwvrbrD+jq7au4D+ue9WqHG38bmxUvnXHBeLb9m5S85zzKEjGua5qwyxRs833g8BAJhohef0eMb0bM3DD7/Bk7QtX+7ntPQAAFaXR+h52oP38CSEHgDA6h4LPUa/VeS28xew+qCIPPvCW9YBAKvb/msoAAAAVkDoAQAAWSD0AACALBB6AABAFgg9AAAgC4QeAACQhZVuWY88p0e/rT20WPvc5wdfsDXLlFJ9rLp/NvPSDYw36QfehR6ZCwDA8X3Ywwl9b/UafHzo6URL9fHWeHL0c15HCgDA7m0j9LzMxkpF6AEA4GnEnz9/tC6q8dWew0tDaymHd4vqryY1Foi/cLRpgvEi3c2kv230dFXq4nkjaUhyXX+phtepBp803b+HtfQecnxuRBtJzDeSGrud8JjphaHHeHEouQgAcEBdS08tZVmcVdHX7m0WGfqb1LkPPeNcJxWZ69pJIt6mEpirzmZiaCPXtNAzad1JLT21NHNP9Gwk5sa1yWNo7FFSzx/2q+KV9OaeJaHH3FFbDN7cAQA4GC30WIFAr7zToSe8bmdB6PF8eK9O00LPxHUnhR57Ra0hx5Nm4nPjnO4tLaL4Xprq+2xB6PF8xnvpAQCHo7f0mHW/nmySoSeybmdB6LmpBblh3rqhUo29eGPvmBYLhi6/BXNjIqHH6H4Sek+UbxuzQo/3HfS8mB4AcDRrtfSYo15qdVmhpeemPLd0vV8La8teE9cN71f7MN681A0AChxafK5tbktPcBu09AAAYDPH9Mi+brbG5RghpmsFMVt6TpcxYdihYVxr5pieNjHoDTbtJxNCz8R1ffv1jdHRQ4/TsmUErPjchFjoaRolrXaduirWaOnxbNkaPgQAwAGY3VuRO7DGoSrtbVDt/Van8c4v/ZalsY53+4n0G7Xic5umMW/vmtVVFFs3tV/9WApVDzdzyVvj6b0yzlV8bqywY/9Vmzc8jxO0+7i0pGLe2GXf4BWf626Z27cAAMcTHtMDAABwIIQeAACQBe3hhKEH8QEAAOwfb1kHAABZIPQAAIAsEHoAAEAWCD0AACALhB4AAJAFQg8AAMgCoQcAAGRh3dCjpO+93wAAAC+3ZuipeU0lAADYqpVDDy+qBAAA20ToAQAAWSD0AACALKwVehjCDAAANo2WHgAAkAVCDwAAyAKhBwAAZIHn9AAAgCzwRGYAAJAF3r0FAACyQOgBAABZIPQAAIAsEHoAAEAWCD0AACALhB4AAJAFQs8WVYXgMY+7VhXfiuqfry4FAMBwxNBTq4uQpZBloe7JZSKLqXMpZClvTyto0FFDT1UIIfZ+aHcpvgnxTYhYrCH0AMAGHTH0NE3TNLWMhp7O+7X4wNCjpDCt/PzquiomPxmyKqzHSOqFk5X1RpE5W55QxpVCz9JSVcUKp76ufqwfa+rfRfF75W0CAHqEnimLrUvJJ72tY1oIqKvCaW5RUo8B3YO1Dxt6mj7iPfI1EHoAYHe2GnqMLqqb6ruiLtV7N192nyjVdNnFXaBQd60ba5ilCYSedOfXWKRSnK5KXcTpOrUqj4SesbnFnwzawNK3x8hxQ04jkv99IIH3hChpfahFk9iW676/yiydnZe09Wor9Jhb105LN0MqbX13dux4g+fK2sjC5BMIPanOr/p30S8gxE8pv/W7H1ccJ08AGs7LokIDQN62GnqapumCy1kV566SbLPI0N+kzn3oGec6qchc104w8ZaewFx1NiNUG7lWCT39ofibQzztMcaGoi0f0Rre3HKgQBNn6WWvq0LPItaYHvsNtXYp2iL3i9fOSKfY8abOlbmTBY1P8ZaeSCTSSvVT6D82U1p6CD0AsNzmQ48VJvSgkw494XU7C0KP58N7dfqo0BOtnUMhoG3zSOxTbztx9rIw9HiOVDsG33kwPrNDkH1WEqFnRpLx9PilLA09P6LfIN1bAPBEmw89VubQk00y9ETW7SwIPTfl7ymbzq7s3YQTHPhi9up4V4vsdWoLQd2Ocp42picSenxrjYdmdD95e6lSJyo+pid+rszFPqqlp2vdEaEuMEIPADzT5kPPQy09Z6Mqq9VlhZaem/Lc0vV+LawtRzwQeuztzOjeGlZxk4+/QUb/6MNaeqLlmhd67E19zJieSXN7Zm9Xkw49fVCkdwsAlth86CnOSvaxwxqXY4SYbiyz2dJzuozp5KZWGtNzr07WsOj2k2eHHnsETNPYHxhLBIexuHdvuY0ddhEjWzaG2pijcJwy27v2DaCe19ITKFXyXE3q8YtaEHrq6oeQxtVUFU7oET/7D+5SfHOWX9YsBQBomj2EnugdWO2jdMZbqNr7rU7jnV/jAnrzzHi3lzF1+SY+ty2ZdnuXmDyK2XfLkd734p+vV+Te1fQzZt4qFSmL/qwaJYWszK07cSCyZX2WVPZoZeOgiqpbOHRQQ+Kx72Pz39cWKlX8XDnPKJpByW/2PVZaNInPrasf1ix/MAp2fjndjgCAOfYQel5dDGALrFvhAABzEXoAAEAWthp67P6jM236AADgEVsNPQAAAKsi9AAAgCwQegAAQBYIPQAAIAuEHgAAkAVCzxY57xMHOlwbALDYEUPPcLt75Bk/+i3xocXapznbr9n6CEet2KyHNWOBp18bzrtB5r2wHgA27Iihp2maqQ82jL57a/XQ47xmYuX3Rs54Aaf7Kga9cLKyXnM1Z8sTyrhSDbq0VPorOD5aqMxbuTZ8Ccd9kxkA7BOh5+Mf+px8u/hS0yo294Wj9kvI3ReQHiv0NA++YP0RiTJv4NrwLUZjD4Bj2GroMbqobsp54Wgtu0+UavRXhJpvWY++rLRpgqEn3fk1Fql/1+m0d442TbRi879WUyuY/iJNKaX+zlCHp/bq4oznY+dt530BYluu+/4qs3R2XtLf+mmFHnPr2mnpZkilre/Ojh1v8FxZG5kdMrQNF1U9FDR1RJO+oxdeG00T6TszUzEA7NRWQ0/TNF1wOauifwdFm0WG/iZ17kPPONdJRea6doKJt/QE5qqzGaHayLVK6OkPxd8c4mmPMTYU/Ws+WsOn6rTIlp1ZetmtlgNrTI/dbWKXoi1yv3jt1Mix402dK3Mn05sxjCOq7UFKqSNaoaXnGdeGVvrAmYjMAoD92HzoscKEHnTSoSe8bmdB6PF8eK9OHxV6ohVPqGJr6+bEPvX2AN+ojiWhx3Ok2jH4zoPxmR0Z7LOSCD0zKmlPj19ws06IEbHjtT97YuhZdG1Y24i2M9HUA2DvNh96rMyhJ5tk6Ims21kQem7K31M2nV2xubVYcOCL2VPhXS2y16l9OXU7ynnamJ5I6PGtNR6a0R3j7XlJnah4RR4/V+ZiU/ORZ49a2kgf0ezQ8zHXhrYFQg+AI9t86Hmopcd8N3utLiu09NyU55au92thbTnigYrN3s7cLgx/8vE3yExsn1i3pSdarnmhx97UKmN65rf0WJ4Xeuzt0L0FALbNh57irGQfO6xxOUaI6cYymy09p8uYTm5qpTE99+pkDYtuP3l26HFvHLY/MJYIDmNx795yGzvsIka2bNf6sTEu9q59A6jntfQESpU8V5N6/HysLdvnMnFEye/oxdcGA5kBHNv2Q0/0Dqz2UTrjLVTt/Van8c6vcQG9eWa828uYunwTn9uWTLu9S0wexey7jUbvi/DP1yty72r6GTNvlYqURX9WjZJCVubWnQousmV9llT2aGXjoIqqWzh0UEM+sO9V8t+7FCpV/Fw5zyiaxxz9VFmDaYJHFC/zNq4NblkHcGx7CD2vLgYQdrA8wMMJARwZoQd4gNOftXu8hgLAcW019Nj9R2d+6WIrzMcA0gQCAHux1dADAACwKkIPAADIAqEHAABkgdADAACyQOgBAABZIPQAAIAsEHoAAEAWjhF6updHvboYAABgu44QenhKPgAASDpI6OEx+QAAII7QAwAAskDoAQAAWdh76GEIMwAAmGTvoadpaOkBAAATEHoAAEAWCD0AACALBwk9PKcHAADEHSH0MJwZAAAkHSP0AAAAJBB6AABAFgg9AAAgC4QeAACQBUIPAADIAqEHAABkgdCDUVV8K6p/vroUAAA8BaHnGd6vhbxU768uhu4uxTchvgkRizWEHgDAgRF6nuGmhCzl7dXF8KirH+vHmvp3UfxeeZsAAKyN0PMMhB4AADaH0ONRS1kKWQpZytv4/+I8vNT0Xp36D43P244tbVY3tV1dw6aUMpYcOsJi+1XnYV1zOzMPzR96Up1f9e+iX0CIn1J+6991Nq44Tp4ApKQQQvCGNADAKxF6Qm7KyDQ3ZWaXIXBYP47relt61NlYuFYXYY3+Ce63XfdSnLrV1bkUp+vMt8vHW3oikWjMK+qn0H9sprT0EHoAAK9H6Alpw8fZDhVt8jBiyvu1kGWh7ta6D4UeZ7/urj3rpi0NPT+qSLqiewsAsAeEnhB/cDE7tvRJjykPh56F66YtCj1d644IdYERegAAe0DoCQmEDyt5zFrXXX0vocdg9nY16dBTVwW9WwCAlyP0hITCRzsAWRtMU6uLdzjzsK6eTmp1GYNLN5Z546Gnrn4Iedc/qQon9Iif/Qd3Kb45ywshilgHGQAAz0focQ1DifXJGDLsdHK5A4rNjeghpr8PqxSnq2oDU7tAdL/jWlKpIWk5Gw9Q0rnHSosm8bl19cOa5Q9Gwc6vqiDyAAA2gNCD56qrQhTVq0sBAAChBwAA5IHQAwAAskDoAQAAWSD0AACALBB6AABAFgg9AAAgC4QeAACQBUIPAADIAqEHAABkYfehpyp4kyUAAEjbfehpmkZJUg8AAEg4SOjhfZYAACCO0AMAALJA6AEAAFk4QuhpGM4MAABSjhB6aOkBAABJhB4AAJAFQg8AAMjCQUIPw3kAAEDc3kOPkoIhzAAAIG3voQcAAGASQg8AAMgCoQcAAGSB0AMAALJA6AEAAFkg9AAAgCwQevB6VbHFx0tus1SYjm8QgOWIoadWFyFLIctC3ZPLRBZT51LIUt6eVtBFppRqyhnYkqdXTkqKopq70lGrzKoQQuz90NoHdCUO5BnfIM9/B3btiKGnaZqmqeWUKv/9Whwx9DRN4tDWVVeFN1KMFVNn5YdIhvbrKYdWT22lVE3T5g9jYb1wsqoKo36ds+UJZVyp5l5aqqpY4dSveSDmRmNzeRoqsFuEnt00h8y0gdDTedprQqZVt3VV+Jp5NlAqu5VCST0GKGkvcKzQ06zxPPUXhB4ae4A922roMTpobqrvirpU79182X2iVNNV8O4Chbpr3VjDLE0gGaQ7v8YileJ0VeoiTtf4r0F9m+3CxiftgfgWm1yqe3XSVpwZetpKuG9jkGYiMBtHwnP6/gZz05F4keqkCJZqyn47gT6OF5aqizOej80PtRo9tuW6768yS2fnJW292soKwe+3myGVtr47O3a80etK28jC5BMIPU/+Bs10CmBHthp6mqbpgstZFefu91Zb6w89O+o8ZoV+rpOKzHXtEBBPBoG56mxGqDZypUJP0zRdLtGWNI+oTS3Dlq0f46WqpV6GPgVODT2eNobhR7s53/2N/3BLT6TqCpVqwn6H0nsrvteUKlrDp+rSyJadWXrZrbYua0xP6vtti9wv7p7P2PGmzpW5kwXNJ/GWnmddV8GLCsDWbT70WGFCDzrp0BNet7Mg9Hg+tKNMzE3ZKWdY0ZilHcXZ3LCvVHYO67c2I/SEfon7woH12RNDT7RqmRJ6gkHiw0vVti4k9qm3NDh7WRh6PEeqHUPy+7XPoH1WEqFnRjjw9PilLA09D15XNPUAe7X50GNV23qySYaeyLqdBaHnpvw9ZVPdq1OfY8yUU6uLncmmBjVf6prZvWW265utBD56rTAz9Lg1UbDqCpVq0n6HLUwKPR9Tqhl9OXU7ynnamJ5I6PGtNR5a+vtNnaj4txA/V+ZiH9XS8/h1RegB9mrzoeehlh6zjcSTKhaGHufmqfdr4eSVoJtqi6HObleXFaemphlPNprV0mPRf6dPGPD7vNATLNWU/fbLTOve+sBS+ZOPv0FmYovaui090XLNCz32pj5mTM+kucFS0b0FHNfmQ09xVrKvua1xOUaI6UaxmC09p8uYTrwhYMmYHneoTfvJ5NDT1FKWUl0LOzzZW/Z0WoVK1R7+GPJqebpMbulxb8I1PvANsLVbesbF3SESC+NFolTp/Y5rTRnI/MGlcu/echs77CJGtmxUw+YoHKfM9q4T3++E0BMoVfJcTerxi1oQelb4BmnoAXZr+6EnegdW+9Ca8RaqdvTuabzza1xATxjj3V7G1EWE+Ny2ZMaNV5MH9Fir+9YK3r2VLtVwR1sppFLj8sk05nZxWFWFvYCvu8Szru9WGH0R/3y9yoyWKrhfdxm9wNsoVUt/Vo2SQlbm1p2KNbJlfZZU9mhl46CKqls4dFDD6bLvgvLfFRUqVfxcOc8omiH+HT37G+SWdWC/9hB6Xl0M7ByVFNbDwwmBPSP0IAOLXkMBuEjQwK5tNfTY/Udnfs0AAIBHbDX0AAAArIrQAwAAskDoAQAAWSD0AACALBB6AABAFgg9AAAgC4QeAACQhWOEnu61Ra8uBgAA2K4jhB6eCw8AAJIOEnp4MDwAAIgj9AAAgCwQegAAQBb2HnoYwgwAACbZe+hpGlp6AADABIQeAACQBUIPAADIwkFCD8/pAQAAcUcIPQxnBgAASccIPQAAAAmEHgAAkAVCDwAAyAKhBwAAZIHQAwAAskDoAQAAWSD07E9VfCuqf766FGuqCsHjJQEAz5Zz6Hm/FvJSvVuf1lKWQpZCqvjzDtW5FLKUt1WLdJfimxDfhIjFml2FHiVFJxJrCD0AgA+Qc+i5qVBqUecXhZ5OXf1YP9bUv4vi98rbnL7zZ7wqpK4KnkgJAJiM0LM09DwToWf6RlfeJgDguPIMPe/XouvD0qexq6sNPZW6CF9XVz1+Xhbq7m6+bQTybnmaQOhJdX7Vv4t+ASF+SvmtfyPZuOI4TQxAY/eUbdbrzgKhJ9X5VVeFtkMph536iuUJQN1ivJkNANDkGnpaiZaeUpzr8cfT1a6U36+FL/RYrUS1uqwWeuJz71J8G2t39VPoPzabbumJRCLtiKQdX9ItPYQeAMCI0DOhe8sfXGKhZ1kDz2Bp6PkR60HaZeiJ9onRvQUAmIPQs3bo0e7/6ie3lShhUejpWndEqAtsWeh5bvdWaq65d3sZQg8AYA5Cz/qhR3evTsGhP2ELQ4+5Z7n77i2L2dvVpENPPyKI3i0AQNPkHXrer4UWevRk80DoqaX1oS9adQ0YwYp+Qeipqx9CGmWpCif0iJ/9B3cpvlnLP9WC0FNXhRVX7A+MJdwhP01VxB8PBADIS86hp+kSyTC10UQblKOUea+WvIXu/BqCjtO35RvZEwg9Sjr3WGnRJD63rn5Ys/zBaMLDD1fk7xyL3YI1zjXu3AqERH0ZT+cXkQcAoMk89OCw6qrw3cQOAMgXoQcAAGSB0AMAALJA6AEAAFkg9AAAgCwQegAAQBYIPQAAIAuEHgAAkAVCDwAAyAKhBwAAZGH3oacqeKMkAABI233oaZpGSVIPAABIOEjo4b2SAAAgjtADAACyQOgBAABZOELoaRjODAAAUo4QemjpAQAASYQeAACQBUIPAADIwkFCD8N5AABA3N5Dj5KCIcwAACBt76EHAABgEkIPAADIAqEHAABkgdADAACyQOgBAABZIPQAAIAsEHqOpip4VCMAAB5HDD21ughZClkW6p5cJrKYOpdClvL2tII+BaFnZUqKonI+4AwDwP4cMfQ0TdM0tYyGns77tfj40NM+ULElq6owatC6KswqFgutcyZ9CaeuCp6HCQA7ROiZstiKlNQfIK2kEILQ8xRrnMm6KoRvIzT2AMAebTX0GF1UN9V3RV2q926+7D5Rqumyi7tAoe5aN9YwSxMIPenOr7FIpThdlbqI03VKJej0ldRjS4/eAtTTF+7nS6UtOy4wrm7Xx90cqeqqGJqYzJYKbU5R1cMKE47ILre+klbKWt+Hlfq863rmt81iY2n7Y+83PBx36kym99sJ9hWa2RUAsAtbDT1N03TB5ayKc1fttFlk6G9S5z70jHOdVGSuayeYeEtPYK46mxGqjVzTQk+ytky1T/S19ZCUlLWx2uovM9br59RGbW60ZwyBYlpDht3V4xxfVYwfKGmEj8S6tb5qMzSL6cepl8Q+7vCZTJZZWy5wHiKzAABbtfnQY4UJPeikQ0943c6C0OP58F6dJoeexmxl8I0XSYaeaBNDJPTo62lLOW+pn1Gj+95w73zWZh2n5Il1E11Iy0PPpDL35Q6da5p6AGB/Nh96rMyhJ5tk6Ims21kQem7K31O2SF0VM8f0eGtna5OB0GM1wGitPvYeJw9Z0XrFIn1JTdveY32YWjdxpItDz+QyE3oA4GA2H3oeauk5GxV3rS4rtPTclOeWrvdrIe1+Jh9PRW599PGhZ/WWHs8yoqhqu7cqte6HtvSEdkH3FgAcyOZDT3FWso8d1rgcI8R0Y5nNlp7TZUwnN7XSmJ57dbKGRbefTAw9VsuOXQMb402UdEbZPiH02GNcqmLGmB7v0GxrhJA5blnbcnpduxUsMCzJHLHkOSrzTMb3q2EgMwAcyfZDT/QOrPZROuMtVO39Vqfxzq9xAb15Zrzby5i6fBOf25ZMu71LTB/F3CgpZGV2rzhVp979ote4nluStHrad8NSv3H7vi7PfV7mOKNq1h3Zdn/RUCprP757x4Lreme7SUXboDsAO3Qm0/vVF+OWdQA4ij2EnlcXIz/U6QMeTggAx0HogcPp/ckar6EAgKPYauix+4/OVDLPZfT30IwBADigrYYeAACAVRF6AABAFgg9AAAgC4QeAACQBUIPAADIAqEHAABkgdADAACycIzQ073S6tXFAAAA23WE0MNbAQAAQNJBQg+vBQAAAHGEHgAAkAVCDwAAyMLeQw9DmAEAwCR7Dz1NQ0sPAACYgNADAACyQOgBAABZOEjo4Tk9AAAg7gihh+HMAAAg6RihBwAAIIHQAwAAskDoAQAAWSD0ADqkuRwAABteSURBVACALBB6AABAFgg9AAAgC4QeAACQBULPK1WFEELwOOkpOFdrye5MKmk9xEvJnA4fgIbQE6KkGMjKetNFXRUrPQtxzXdoLCyVfqQdvUjmbP+jr9t6NLbEGjJ43whXnXf2I1edL+HwEHcgV4QeLyX1X6PdA5+PWv00TdNYpagKp6JQUkilpFNX1FWhnxzrx1UdPfRw1a1/1dVV4X1WO409QJ4IPT5Oe7hWSXj+Qh0WrvueA+NHp+bS/7S1qp/gH7jdDKm09d3Z3lJ5diykNCsSpxK0K4Wu4pnSU1B7Kq+gaKli58pY0feXvrGAVh7fqRq3oc6lkKWQSjW1lMP/6+7Vqf28FLIU537DNzV8WKh7WwTpLhbGVfeEqy54LZoJ0zvbe1kB2DVCj1fiN2Lsr1tnll1Ta3Ot0RV2o7tdivYXcb+4+1s+9je3pxUhWv2Y9Yq2Zae69JynyX9Gx0oVP1eeDenH3v48LFtXxfQKTJ1LIS/Fqcs66lyK03U4E9KIQeaPNyVkKW/6xmop9dXjO+aqW/mqi+TvRDQn9ADHROgJ0f+K9Y0JWFL9eH5Za7+pfb/Kjc/s6siuMxLVTyyHuNWP3hhg/b8RTHx7nNx7EilV/Fz5dzn85Nn/9F6YNvRU7/2K6jL8aM1qmqZ5vxZD087w/+b/TGnm6ffNVbfmVReLkamICeCICD0TuCMGllU/vrXG39RWf42nv8Cun+ZUP3ZfhFU9eOuLfmduL8ZQjAdbesKlip8rb6nCJ8r4MN691XTJZuzS0kKP2bEl3U6ue3Uqxbmu1UW0DTyetp+puOoev+oIPQBMhB4P/5/G1mCTj/mbO1quedWPvalER4MxnsQsl167PDqmJ1iq5LkyZ6/d0uMNPfYs/7onJU+lvNVSXuT5YrcMhVflqlv9qlvavdVHQUIRcDSEHg/3vhn7N7DR2u4bilJrs6y7TLQNtb9bx9m+oazz/uYOlMq9Rdf6wHdzdO3fS2PVc+7hT4088VJFz5V1KrpvzPjADgHzxvT4Q0/XXaWN0ekadfoOrO5HqcYx0RMH9HDVPeWqWzaQ2TpDAA6D0OOhpJBV4uYg63aY0Cyp7HGjRqt9UXUL6/WEt5dhXK3dkv1zvFRuJ0bidqZuv9qsviT60sNZWfacnmipUufKuuOoMs+js/HJ3W3nodNKqTHElFovldPJpccafRBPez/X1AE9XHXPuOqW3LI+J7gD2BdCD4AD88Ubtw3KmrnS85AAbA2hB8ChTXnMD4A8EHoAAEAWCD0AACALhB4AAJAFQg8AAMgCoQcAAGSB0AMAALJA6FmuKr4V1T9fXYp9WPxmCgAA1kLo8bpL8U2Ib0LEYs2WQ4/1QN4PYD5+132n0qOFmXlE/mcHT5vrLMtTXgDgEAg9MXX1Y/1YU/8uit8rb9O7H8/ri565s+e/nbE236KpiT1dN3ISJpyi2c/zBQBsFqEnhtAza2cfshPziJQUUkVeFP5g6Fny5iYAwFYRemICoSfV+VX/LvoFhPgp5be+Sh5XHKchAPnewGi3Yxh9SFKalb313kejRq8Tb7I0F5hTobtvlQy8V9KTV9qiaFuwyhU7on4bUnl6oPQtPBJ6lr2jWzu2yLYBAB+N0BMTb+mJRKKxtlM/hf5j80hLj1nTKqlXq1abRHwEjJLCSAntz8OydVXMrbBTLT2BeNGGg35ObWSM9BFpOw2ll4dCTx0eiRSZ1TSEHgDYJkJPzNLQ8yPWfPBQ6InEGLuGjXXBmBnFU/XP7a56IPTo5TYH7SSOSN9maJjNQ6En1pyTaOoBAGwQoSdmUejpWndEqAssFHqmdG+ZyxitIk7mMGt0Z+vj8t4hMZFxMj7LQ4+xl3GpBUfkKzChBwAwIPTELAw9BrO3q1lxILNe78bbRZwaekMtPYHQk2zpceZ7W7Ze0r3VD0UiFAHAthB6YhaEnrr6IeRd/6QqnNAjfvYf3KX4Zi0f3p3dg6N/YM1t610t9OhrKimcMT1mZPF0FnUNK+EQsHLoiR/R1KD2koHMZkkBAFtB6PFQ8pt9j5UWTeJz6+qHNcsfjCY8/NBZy75Nyr2VyZjXLt9WzdZjbSp9nmfjnho7FHp8vXLDdv1ddnaR2m167vMKHJGU2ofuklJF9xsvlXvO596yXlcFkQcANonQA0TMfjhhKCcBAF6O0ANE8RoKADgKQs+e/PM//oX/3/j/AwA2i9CzG23Nyn+3/F8AwJYRevZhC20Y/P/0/wcAbBChBwAAZIHQAwAAskDoAQAAWSD0HE7iBeA79LQjqooZD4cEAOwdoSemlrIU43Sp3lfegfMMmMiC/gclu3YSep58RHc54ZnXzwg9PMUHADaL0BN0r06lOF2fWH/560f9hRD6c3+TL4p6ornvH52x1ece0bSXws7daPSVsdHnNQMAXojQE1RLWYrz8+pkz/sKrNc2mT8Sehbt4sNDD409ALBVhB6Pe3XSe7W6qVDjy9BrdRlnGa1BY4+YvGm9Y57w5PbZeCpLrWeniwhKf9tmbSwYfX+m9cpRpynCmC+rIeX43s45KwAZJTOO78Ej0koXefunN/SkOr/q38X4ytifUn7r9z2uOE5uAIq+gx0A8CqEnqBQS08biYbxPdaPTdM0zU0ZWeem3PFAnnEqSvpqyiEJ1VVRFIVemwaHujg9LPYHVq1cV8Z22yihJ5vFLT1KGonE3NEjR6SXdH7oic+9S/Ft3Jn6KfQfm3RLz16GVQFAbgg9QYHQc1NClvIWXbINPdGuMbcxIBAshj4g3+u7/TnJl3GcxbTP0t0xS0OPp/9K29QDRzTV0tDzI3Y+kqGHph4A2CRCT5A/9NTqIqSyu47OpfGhJxjZPNXihJYepyr2j4qxIoLTUWT1UgWChrnBJaHHu+Hxw+VHNNmi0NO17ohQFxihBwD2idATFAk9Vl+Vc5/XhNDj6wFJjulZs6Unvl93gxm19FjM3q6G7i0A2CtCT9DEMT1tM49nTE889PjHrygpzDEv1t1bhZESZoyAcR4IZAQOp5K2biMzN2gWMs7Zr76hh45IK8u6Y3rq6oeQd/2TqnBCj/jZf3CX4pu1PA09ALBNhB4P65mEw91Y2hKhu7eGIcz65H/Yj6+do2kCz+kZHuWnd1VFqno3Ith9XL675SP3Z03ab6gsxobrtY5o3Iqnzcy5x0qLJvG5dfXDmuUPRuG53LIOANtE6Hmhp1WOz3mszivt6Ih4OCEAbBWh56Umv4Zi9mYPVu3u54ho5gGAzSL0HETq2YP7c7wjAgC8FqEHAABkgdADAACyQOgBAABZIPQAAIAsEHoAAEAWCD0AACALhB4AAJAFQk+ckr53MgAAgN0h9MTwRgEAAA6D0BNTVwWvFAAA4BgIPTGEHgAADoPQE0PoAQDgMAg9IQxhBgDgUAg9MbT0AABwGISeGEIPAACHQeiJIfQAAHAYhJ4YntMDAMBhEHriGM4MAMBBEHoAAEAWCD0AACALhB4AAJAFQg8AAMgCoQcAAGSB0AMAALJA6AGyUVeF4HGbAPJF6HmlqhBCUAv1lHzJI5G28y0ouaQYSk4uP6EHQN4IPSFtVdKSlfU+iroqVqqe13zTxXqlesV+vTV+Zt/C0keA874UAJiC0OOlpNAqn+6xzIeubl+937YNwvwsx29hWWMPoQcApiD0+Dj9LFqlorc99PqF676nxPjRqam19WqrujK3rv3R382QSlvfne0tlWfHQko5p0khuG50v76ZTsk7nn6XPL8FM+mF13XjX63vX59trOc//fqxefcNAEdA6PGK1DxN00T/mndm6fWp1Z5hjSaxOzfsUpiDN9zxGbE2Bk+ryeTqLbXu4y0u/rEmWX4LoWE3ShpJpq4Kbd26KopC/8AXIv2HZx0XoQfAkRF6QvS/2p3qY2F1q7x/2GutF06NY3xmV792n0aiul3cAZJa9/HQE4w3GX4L/nPh6b/SdhToHPSd0qXDhgDgAAg9E9RVMX00SaS69a01dqw4nRBO/4hdjc2pbu2+l3kJKL5uaL/Tu7dSbTrdXrL4Frznwptgxg+9Y3r843wIPQAyRujx8DcF6B99WBtDtFzzqlt7U4urPmfd53RvZfotBLq3nt3S04c98hCAIyP0eLj3CdkViFFzmEMzjErLfoSKVeO0Nc042zd0d14bQ6BUbk03/e/99LqRszGZW9Vn+i2E4qhTKn3dbkyPOVBp1pge6xwAwCERejyUFLIyuzmcasK6/Sc0Syp7nKzRv1FU3cJ6vejtVRlXa7dk/xwvldtpM71+m7Ju5GzM2ItZqef5LURG/Viru5lu0rfgDT1u1yEAHBGhBxvxyFDro/iAATeBIU0veRY2AHwwQg8240WvodiOj8h9yTFLAHBchB6k/fM//mXx/+Plgs9aBIDMEHqQ0CaYZf8FAGA7CD2IeaSNh9wDANgUQg8AAMgCoQcAAGSB0AMAALJA6Jnie1l+/nJfNhfb9eXy9nb9x6tLsabjHREArIjQk/br+vmT+r5sLrbsCRHhe1m+fSrfPpUPb7m+fLp81T/4cuk3W18+lW+fysvVWWnKEY3bmWbKfrGuxHfkXBtXtfx6O973e7wjytrMqz35b4HQk7R6M89YL34qL1+un1erd+9f38yLYwcOWuZfj36tnuvqqt4+lW9l3TT3r2/l26cHztus4k3Z78LjfdW3n9hv9F/o4jJ3FbAxleFHUYZPqe93zv3rW6pqD21wxetqI7hiH79if10/G5doeybb6UP/yJ9/taf+LRB6EtZu5vle6r/p6ssKTQKDgwaIzXl+6Pl1/ez+pv51/fyp+/f/vXzsV8+s4k3Z74GqkNS/0IfLPPFchRbzXhvNhD9wYxtc6braCK7YNWO6tu4jDYrLLLva43MJPXFrN/M4LXXav70hrffbHML18I9Wj9vlpVTDta4n/X5ymgS1uX0Q7i/rtkH4k/o+/D0a+RvUZpRqPCHd3wp9Mfo/HYYF0mUOaY/l7fqP4c8R+9+5fhTDX9jjxsOdUEN7uHZQ2qmYWmbPr9TElg3eXqpf18/DF+cskOhWs05UuHie6zm63/Dxth64YuO0I/r85d5tbTif/qt9yn4n/Qv1rJu62tPnKv0dNU0T6cGsL/F+nOh+E99vYHfR69n46rVfYtN+54S/QasAXLFPu2Lryyf1XT+BRph49vfbNM3iqz06l9AT84TRPGYqt9y/vln/ho0L2pPo7d8ygX+EdlH1a+L+9a2vKb9c+usv9QvU3JRW5vvXN71UTpG+XMwDXPpXyK/r57eL8UeA+8+j/3fV77H+fnU34vkX1f6m0KPn7DIv3HIT/XwC736tv5b840XCVcji/T5yxSZ3Nx5R98vXTNuhqz293+i/0Pi6yau9L97C76iJXhupy+bhLlfXtOu5aZr2H6P5lUV+56S/wYYrNlBm1+Irtr58Ut/13qJIC8r632/zwNUenUvoiXjSTVt6+vaN2zB/95nNDNE9Bi/u76X3V0Z72Wlrjdf0hCECfQl9Ha761f+00OP8mWUf5lUl2uon/eJbVOaFW25NT5yT9uv59ldqpvb9HWn83bb4ik3u16kSjBbE8NU+ab+xf6HPCT2Tv6PYteGt/JLf0SOmXc+twK8F3++cCd/gAwXmio3M8oQe7Rdp7PfGM77f2Vf7pLmEnqCPuGlLS8Q97dtyrwNzLKR9/YUubqsd0mrnfCj0+C5f/cOntvQ4//ysjV9VopMuHE2Mg1o19ES33Fo39PhKu/of/cENLrti4zxraXVV/Gqfu1/3X+gzQs/072h5NfCklp7I9ewkjImV4pRv8GFcsd5Z3tAzXFpm6Hn+90vo+VhPaebxVMNOshnaMGJ/NnVlmNj06o0mnrV21tJjh05PS88uQ8/K3VvPa+mJ79c1/YpNbmfm382W8H7T/0Jf29Kzue6t0PUc/a4XtASsjSvWOysQerqBFto1+SHfL91bH+lJzTxXZTc/+irm72X5VipfGDI/MTu/rKRi3rbgG+w2r6Un1IPue5yMMabHHrnsBIhQmaP77YbdaQu7v8WeGHriZX4w9DzwAKHgeBHzRHn+hH3CCImHrthoqawtf7k4AzBDV3tqv+l/oZEyJ6/2vjALv6P+YNcdyPyAeOhxRuNOrRQnfIMNV+zzr1gzPJnjzJ7//fY7ZSDzx3jWI5iv6q28Bga9a7RbLq0PjfbAwA0+/rn26u0VNrblfv5y70f+doPXnH8A4V/ikVLpc8vaM0IzUubIftvfWcYtAOatlZG2U8/c4YswT0jorqhQmR/f8rj9OX9QxvbrLnD56kbGZ1UhD1yx8VLpR/R2/Wr9k/Rf7RP2O+Vf6MR/ZfbVnnpOT/o7Gnax6i3rCyWvZ/N4+7N6uU77nZP8Brlih80+44q1Pm8ap+Ps2d/vULx1b1m/fyX0eHzEaJ4HCoDmKX+2bgrvNpklq9O18OGE2JKsrthHrPxwwl/Xz4SeDeLfQ9rRQ4+nBRhBuZ2rVV9DgRfI7Yp9BK+hODCrk2LG4wEzY5womsTyZNwDQiMHNo8rdhsIPQAAIAuEHgAAkAVCDwAAyAKhBwAAZIHQAwAAskDoAQAAWSD0AACALBB6gqpCCCHVq4sBAABWQeiJUZLUAwDAQRB6YpQURcVzkQEAOAJCTwyhBwCAwyD0xBB6AAA4DEJPAsOZAQA4BkJPDC09AAAcBqEnhtADAMBhEHpiCD0AABwGoSeG5/QAAHAYhJ4QJQVDmAEAOA5CDwAAyAKhBwAAZIHQAwAAskDoAQAAWSD0AACALBB6AABAFgg9W/a9LD9/uS+bi1f6cnl7u/7j1aUAABgIPdv16/r5k/q+bC5e6wmh53tZvn0q3z6VD2+5vny6fNU/uCoiGoAsEHo2a0Ezz1gvfiovX66fV6vJ7l/fzGpyBw5a5l+Pfq2+K+f+9a28XB/YKADsAqFno+Y383wvy7dyeFFYfVmhSWBw0ACxOc8PPb+unz/5dkFjD4AcEHq2aX4zj9NnodWOQwtQv9b961v7yZCchk/Kt0/lpVRDftJbj/rJ6RzR5vYNBvWlXfLLpd9R+4mezJKMUo2H/Ov6WS9G9+O4QLrMIe2xvF3/0W/T6U7Sj6L/f23j4U6obuHLVTso7VRMLbMn9CS2bAj2u9WXT7HGnq54M747ANgeQs8WLRrNY7b0WO5f36ycZIQkTyuRsalwC4RdGL3uvH996+v+L5c+DyUqV7OEepnvX9/0UjlF+nIxD3BpS8+v6+e3i9Ec4gaFPuf1e6y/X92NeLJFGx306Dm7zAu33EQ/j88at0/oAbBvhJ4NWnzTlt5aYC9zVW9WRW42M0RvBAtWxt9LN8HUly4GaWuNvSeTh4/YIcYqxjNDj9PEYh/mVb3FR5FHoomeGxaUeeGWW7HEGQ3NAHAIhJ7NWeemLa2VpafVakMuGQw9Nd6umVBlbHQ/Of0yD4UeX5zSP3xqS4+TKqyNX1UiH4SjiXFQq4ae6JZbhB4AeSP0bM3CZh5PNewkm6ENw18jGnuZ2L3ljSaetXbW0uMZJG639Owy9Czt3upHOHGHF4B9I/Rsy+Jmnquyu7R8FfP3snwrlS8MmZ+YnV9WUvle6iOgfQOo57X0dI1M6aHZRqmMStoc0ZIsc3S/XQWvLezmjCeGnniZHww9Swcyf7n4viAA2BtCz6YsfwTzVb2VV7OzyRePfl0/B6v5SPeWuYw11169TSpjf9nnL/d+5K/63veIaWUIhR5ny5H9lnVbMRvLRMoc2W+bKoxb0rTsZd6qNmHu8EWYJyR0n1eozI9vedz+3FvWPV2lALBLhJ4N+YBHMPMc56SHn/63cbMfThjKSQCwO4SerPC6rrSjhx5eQwEgX4SeLFidI9ykE2KcKJrEAOBYCD0AACALhB4AAJAFQg8AAMgCoQcAAGSB0AMAALJA6AEAAFnYe+h5vxbyUr2/uhiGvxfNX6L5W9U0qvlLNH+J5t9fXaSnyu14AQA7tffQc1NClvL26mIY/l02f4nmpJqmbv4mmr+KVxfoyXI7XgDAThF61vefVfOXaP5eN03TnETzl3x1gZ4st+MFAOzUi0NPLWUpZClkKW/j/4vz+C7t6tR/aHzedmxps7qp7eoaNqWUseTQERbbrzoP65rbmaoNAW0Xz9+L5m+VdczN30TXDfSXaE6yOalxraGZpPuxDxODk75u1fytmDq3bY8ZJrsHKlCqKXMTx9s0TaOkEEIIOec0AgCwri209NyUkWluyswuQ+CwfhzX9bb0qLOxcK0uwhr9E9xvu+6lOHWrq3MpTteVXt1wElpiUH3HUFdIO8T8vdBCT938TRhp46T3JUXn/mdlNsAoO/fESpWaOwGhBwDwetsJPWc7VLTJw4gp79dCloW6W+s+FHqc/bq79qy73MlpvBlFQ8+/S28jyqS5J7dpRxkxKFaq1FwAAHZhM6HHCS5mx5Y+6THl4dCzcN0HKKObyUgqqdATaV+JzTU7p8ZJ31ekVMm5AADswXZDj508Zq3rrr6d0GM6Te7eWrmlZ3qpZs511VVB7xYA4OU2HHq6AcjaYJpaXbzDmYd19XRSq8sYXLqxzC8PPfbYmqb5e2GGHq0j6WQNZDbnNuZtU4m5yr6T/D+r8Igfs1SJMk9QFUKIoqKDDADwUq8NPcNQYn0yhgw7nVzugGJzI3qI6e/DKsXpqtrA1C4Q3e+4llRqSFrOxhcZ7skKdRXpC5yU9ty/ltVRZT0RJzrX3nURnmWWKlnmhLoqiDwAgA3YQksPjqyuClEwCAgA8HqEHgAAkAVCDwAAyAKhBwAAZIHQAwAAskDoAQAAWSD0AACALBB6AABAFgg9AAAgC4QeAACQhd2HnqrgTZYAACBt96GnaRolST0AACDhIKGH91kCAIA4Qg8AAMgCoQcAAGThCKGnYTgzAABIOULooaUHAAAkEXoAAEAWCD0AACALBwk9DOcBAABxew89SgqGMAMAgLS9hx4AAIBJCD0AACALhB4AAJAF8efPn//6v/+PiYmJiYmJienYE6GHiYmJiYmJKYuJ0MPExMTExMSUxUToYWJiYmJiYspiIvQwMTExMTExZTGtFnr+538XQsh/e/XxMDExMTExMTF5pzVbev7tf4h//d+vPyQmJiYmJiYmJndaOfT8t/9Vv/yQmJiYmJiYmJjcidDDxMTExMTElMVE6GFiYmJiYmLKYlr57i2GMzMxMTExMTFtc6Klh4mJiYmJiSmLidDDxMTExMTElMVE6GFiYmJiYmLKYuI5PUxMTExMTExZTGuFnv/zr4IhzExMTExMTEzbnXj3FhMTExMTE1MWE6GHiYmJiYmJKYuJ0MPExMTExMSUxST+/PnTAAAAHB2hBwAAZIHQAwAAsvD/AaXks8gBfVIDAAAAAElFTkSuQmCC)
二.Action的多方法调用
其中,name属性是必需的,其他属性是可选的。在为Action取名时,名字一般符合命名规则,不要使用点号和斜杠。
method属性是可选属性,如果没有配置method属性,所有请求都将要转发到Action的execute方法处理。
Action中的一个方法代表一个业务逻辑,那么模块中的多个业务逻辑如何用Action来处理呢?
(1)一个Action对应一个业务逻辑,实现方便,但是Action数量多,这种方法不推荐。如下图:
![](data:image/png;base64,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)
(2)一个Action对应多个业务逻辑,每个业务逻辑对应一个方法,方法的原型要和execute()的方法一样,在视图中调用相应的Action方法为“Action名称!方法名称.action”。action多方法调用如下图:
![](data:image/png;base64,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)
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwgAAACeCAIAAAAZsLqDAAAgAElEQVR4nO2dO2/kOLqG9W+2YWF/Q+UDjIEOBEzm2GEBk3REpdOAg8GqIgdGO1igGU9Qiw3kE0xj0NiT0ZN04HROhYONhyfQjZePF0lUqS7vA8KQJZKiSIp86yMpZhIAAAAA4Gr4Xy/Z2skDAAAAADgeEEbnxWtR7srD2qkAAAAALpRzEkZZlhkHxrH9b2QknoDk+SxE6FEmIl52GX9dKHIAAAAALC6Myl2Z7V5ifXp7/UZw+IVIjCixtZEdynPJE6Fxcpp4cufYOHNRMD8BAAAAYLCgMBIvu6ws85cRAz+cl1lZFo7evBdG6r8yZEBShUi8WIkXRpH2oRhv/hybYC7y5ycAAAAADBYSRq9FaZo9as42jN3Vh7e62jDWuLvaFgGvRVlmJefWBVXckP/aKsfQN351YgijoHKKNwVFqCIixywPmrlofn4CAAAAwCC9MPJYKd7q6q6qNlXdn3mqyL5cyleu2k5I5UEadVxKKKhp1JuTERrEnPeIJ9VbjF2HNBdNzk8AAAAAkCQVRoeXvPTNa3mrtV5cSimlYIzXlGfZzJJRzCSZezisDxIjjAw8qsgTMFIYBQ5COdZBzy6amZ8AAAAAMDi6xciyZzxV1RMx/kNYOCIGpEYLo2CcowSQ69hj7pIRFiPX7KKZ+QkAAAAAgyXnGFnzWt7qasOFfs62cATmGEnHyJrth/w3cnjLf1WOF0aug+BTexajzcxPAAAAABgsJIykpNZYtdOElb7csHk0Qfyr0qRbiNh+/BajUSYoz/mZFqMeclWaZzHazPwEAAAAgMGCwqhB/ZpO0203y6lap0yRCX7xqBcWHjOPcbycMLJvZPscYzEa0L8/5Pt20cz8BAAAAIDB4sJIhZwTE0NQALmOXQNhtn/PrSNTRabTQ/DWMvTtosn5CQAAAACS8xBGBqTCMMat7JNkDMHISUHjVzYxZqFIYeQHwggAAABIy/GEkTbiY04ZBqNBfgIAAADJOarFCAAAAADglIEwAgAAAABoCQijP/78K5UTZ0jCx4eDg4ODg4M7cQdhFGD1EoKDg4ODg4M7moMwCrB6CcHBwcHBwcEdzUEYBVi9hODg4ODg4OCO5iCMAqxeQn/8+dcv79jPH/5v9WTAwcHBwcFdvDtLYfRv/jB8v4c9fPySKmKC1Uvoj/WE0U/v5E0mv/swHNh+Pr+XN+/Xz6IJz/XZcfUcn+g03RI5GVMn493vHyqWMfauXj2vlnveJUrh83t5k8mbTN68k8d/Iji4pd0xhNGP/yizf9R/pBJGX/gP7PE5TVxhFi+Dr/XPp9ouNy3XT1+HA9vP/ak1bV/ld6HG+j7zdRVn9kQRz7tiPifPyZg6SaXW/Zad8As4/XkXLoXG/fZhSszkE/34jzL750n8CoWD+2NpYfQ//9plZfm3f7XWjjRS5Qv/4YGniSqCxcvghNvl++4X4f2kn4aruHBj/VV+l8n7T+snNckTTeucjpHPy7iJdfJshdEpv4Of3095j1xP9PjPMivL7/+z/nPBwS0njMT3ZWso6t2gbIaBsMftI9vudTGyf6THyLSArfuBf3F40IO3cbLtfjjePPD2+IF/fGAbxjaPe81njDD6Wv+cMda793YQ8ax4eP7QN8Ta+dZpbfTggR5K025d/dL/mvz0mWWMZZ9/VTw8903Yp8K1B9z3ejPX/9YkfnR+ld9lrTndaBx/+yBvMvnTh87YTplnmh+LvdMi/+S+pNjwPzcNa3dsBySD996IcbSze6LI53W735QnIno4Pf779525Inhfd04aj2wEjMlnX510NESBt+xr/fO7uh1TM96UP//648+/fn2vhv38q/qKvat/ede99e1LpwWnw6Z6B/21zlEKbea/l/fdpXs1q7vC/enTENw17vzTO8qC5a3toScS35dlVvLH6DoMB7eEW0QYubR/o1C2TFFC+8cNixZGvfohLUb7Ry3IF/6DFfPzo66Z9vvnzmcjsD4+sE0zTrd/bA7GPvuv761mV2srxTPVLvvj/P1DRQijT581MUTeqPfwtf5Z9RzjvsrvGkN3f0B5u6caTWMSz70e/Kd3WoOo/e60VIvhuU9Y39wbpgu6sVbcbx8CUy7O64mCz+sJOPxet8bFjOdtetPPI+9L5qQxjmnkhj+fI+sk4fwWI/WV1F+r3z9U2k+dT58HffO1/rn7xfLLu073KB58YWOT7XteX63zlkJTmvef2sp5/6mN/7NeG4fbfaKMVeRYarC2x5Tgf7g6zgAHd3yXWhi91X8rnaPFnTCaN13aIYw+PlAWJt3n8yPbPBoqTPP2/NiZoLqZTKPzVG+Cf30fmjc9VRj98s4SOlpU4ln/8Ur4n+8cE03u9ZOf35sywmWBJ7pS+xYuk487PUZifPb/83qiVBOMPmlihRgmM24Uc1/KD5FRujd/Pk93Y4bSlDdFPNtS5tPnVu4oAYfX/Gv9cxvEGzaF89S6YCk0uToU9Ff5XV8BKBlE6OBPtD0vXNvj3I//KLNy9+NbmryCgxvljm8xUkay7LGw6cJovyVmZJsnn+1huwTCyLLV68Lo2d94TRRGVLOrnTQ9DM19tBk/7KjGUWtk//zrD6q5vFeM7YZxhXBWZ+nsD8j0XPATTX5eK2FqAn5651yyN+K+th8rG01vEfk80U0TRsYoufGC+4WRP2yid5CudcFS6KpfX/FUKfzbByIqu0oQ6jmutocdLEZwa7uF5xjpo8WUzNFH1qYLo1iLUWphZBpmTsli5BBG6Rzdo3+yjOfelvFemVITM2vEM4jz+f3cGcHn9UTTnreZyqP2c4b+uI+wugXvS+QkJYy0Zx+ZzyNcQosRFTDWYrSkI0UkUQqKVOqDqN7ooV5/wZHFN8VhjhHcSbhjr0r7N38wBrM+PqSbY6Sft2NeRhipzR81hUif3PP7h8qaG6SaeYjp2845RmaDbswxWlwYkT26+YtTby6N5tv4yIrdJZu38HaWRi9r/4wOrnk+rycKPu89ZUswHkebbESlsBFSo+7rysl73ee9Nfnak8+znOct8wkj4i37/UMVZTHyh53t/LXOUwra8FlX7qpB6F6fbd3OiKeKkphAFjMG53BNZ4FVaXCn4I71HaN/ij96YeRZVuYXRvoYnLp2rMGIXI25m3atuEYMDXE+fPzSeXvcdwvcHqrgIHe3GmVYdGasQDGM6lbLqK6IUQWQvqSFWPWmBtTCDklqmvjQ6raR7p4ymH/WL/Umem1xim1s11tzdZ2UuaqFMtQT8x68S2nuvefP74n8V+1ZtNTzfvfOGu/4qq1IIoZC3Pf15KTtwRBJvnye7ci3TDnZm3k8ftSxMO0Va1/V96J72VtpRYed70K1zlUK/Sq27z50kbyTWj35JG/e65XWUzEsD77a7nX9t+7g4E7BneWXr4/J6iUEBwcHdxy31uep4OBOykEYBVi9hODg4OCO4yZ//QEO7pIchFGA1UsIDg4ObnGnD89BHsFds4MwCrB6CcHBwcHBwcEdzUEYBVi9hODg4ODg4OCO5sLCSAIAAAAAXA0QRgAAAAAALRBGAAAAAAAtEEYAAAAAAC0QRml4qthdfVg7FeAUqXNWlagb4AJ4LcrdNdTla23Pr6V8g0AYxfJWV8qmItWTXnsmvUiCdREGwz5VUd7Ogl0ubzJ5Ww4Hx2RfyJsiwk8mb/LhzJw0xwijOmcsG62fri0nx5JlZgtmnyHPk96yLHMFN0LFxBZz3h9PRuFJ3nzEyy7jr4ve4mhcRnte85T9wiWV70wWF0blrsx2L/PjkVLKQ31X1WmiGhvzob5jfJl7y7e6iqnZkd5On6ZH3InhYARC3uZhXx62cZ3xt1LzNivNcRzKapowuoCcLHflQi1yoxVIDaHKCPt4rJoxrrrEjf/StHgi0xaJu8VObU5Ae955G1v/1TJK1y+Y5bvcW3n6LCiMxMsuK8v8Jd2btO6LtNCtr08YbTsTwla3JcRg9LLLsS/klg//zklzJBOE0SXlJOdlVpbFwu0wKSZUneRSS/5IpFt7eURYqniCCY7E32KnNyegPVe8RdZ/u4xS9Qtk+R7nrTxBFhJGr0Xp+NlxqO8GAyZnnDHjZ67glG1zsFIOTq/ZjVGxj7kmwlZPBzUBjZ9QzFqCbUtpwHzqTtWAq2arxt67+hD7AnDOMsYyLkRddTt7c6Vnksp5ljFWCC1gXjfDOqwQXVRacFEoYTM+lB4vXE15od5dsTSQJofGkNC7wQMn9gzvrxrjMtvMGqYR8rYLtdXTowZp3F7KXa4ZYPxpdiB4l1Gk4jmUw+7rVXkYhNH15uRrUZZZyalY5xKvVFQPLu0SeZK86lc8M+PxhPXibrEHD5S5CO25xYz23F//6TJq42nz2Up5d56J4XhDiEKPOXDBt/JkSS+MvBpTMKa8OYJvWOSLJKX0yfy3utoofbQU3Ki1TxXrPdTcqhmzf2GQL0MwVYGwyh1Hjkk3XXJVNzcXddUf214LxvLuRqKuul68zjvdw3kvgA5lNQgp/VIsQt42Ayj9gcIu1zpLw9ggrV7Wc8kO27DN5N44xfU+nsubXPfmTXMQ0hR0KKsh26fNMbrUnHzlqSzNtlZwWVniJYXff1CskIJsQjzxqQ0GjLEKOMxFaM8XaM+p+u8po7e6uqsqNSX2BKlOz3WlIISR7LA5MN1beRYkFUaHl7z0j0oKRr4hsfG7arNgdgUVfKN32c37U3O2sbvyRV6kqFTFh635OGGkKvw6dwojKepKFUbdsSi6flrUVat+BLdlEOeaVJrHLqf74C55vmkxRj9Nd/x2DELeWh38tzI8rTgeShgROTlkeArOPSfLXZmlmNFiGIFsqeGXIDOFlF+WjVVj6r9+DJ/OeMMtdoPLnID2fKn2fKj/oTIyJBd5OzqXBmJnj6V6K0+fI1uMpGrxGz2d3lWbKesoaTB8qkgr4jIvUnSq6LAx3pyY/a4ujIYhntZFCiNjDM4IHj0A5EcdiDG7du7uZY1+2tXxWzF8KwkBkXb+DSGMVDFqe7vynEz62zRzDFGR/7r+unxG3nqyh6C3eGnlIWgx8pkT0J4nb88nWIyseJ4qTbDW9hCnQtTsMViMks0xCo9K6pbYIKN+YVD3akZ2Cfvn0X5hzAg70mLkEkamMWmuxWhJDNPFvnD2smYH7Oj47VEhsucOmFtGsorFyOBMcjL9bAZVGLnMKvZV6RBAmduYNNaKM+qqy+f8/Onw5Hz8YjS05yPCUu15xBwj62qkxchdLsHyxRyjZMJISsf8ecOg91SNHJMeylswppgHBTcqh1ZdDvWdORaux++Jufcwfkw6kCpvWCOvmol7iYSRPk4ebzGSUnLOdFOHMVdmDnbnbXTJ2piOPp1F6+m58wM5xKgQb+cIN3wrh1nDqXDOMVKGIJuJ2KmE0TnmZNNcJF//koUsRi4xNFYYue67nJ+gcur9BO/SQK5K85gT0J4nbM8j6z+9Kq0yJzDZc4xcwshvLlrorTx9FhRGDeq3EPRvajlMr54XyZrY77qkWTgHY6+xikGrK86YdVuxEVBfpNA56wUg7a7BsJqHqm6jCppsuqVk3eRra23U4IGxjPGyGSDjQg/Yrj4rRDeC1kordS2VNgw3E3uplG2o0P3s3Zduc62z32ZW5GpwNWw+rLqa+bEiffmetQbQ8JDXbcbOn7B1hjmZ8mtnOrYAcgkI6RZJRlSeMzGXkvvx+B8ljBr0r9f4zAloz1O152Prf19G/QceXc9LpEpTcr7yXe6tPH0WF0YAALAWhtBRz9v/esSQS16MPb+Enzn+/eBTyJcNytcFhBEA4GIhlY3HYiQtI5MMqQ3SSEMGcQ1+eUbB4oXOBOMQAIAEwggAAAAAoAXCCAAAAACgBcIIAAAAAKAFwggAAAAAoAXCCAAAAACgBcIIAAAAAKAFwggAAAAAoAXCKBb7O+sAzKfOF9wiDYAzIX5HtvPmWvuRMytfCKMB/XPv5jfsJ1VowaL3nX6qxm9Pfars8naPrf7gspnzvDHCqM7ZhJ3UUArLEb89iP+L2/3JyG9IxsTmOR8fg/9Sci7pE8yX0Y/0m43MjKfh7Mo3gTBKuaNKcFfk5WLW9h1MDL0l4VRvp0/TM+3EcDACIW/zpRK2ELOeNw5yJ9oFU3UppaDv/JUSY3s11zes7eNpu4jY2sgjzk5TGLl7itTmBPQjnbex9V8to3T9kVm+y72VqZgljMjdmGexboVe6NbXJ4y2zR6iykE838rzs23Med5IJggjlEID5+URdggnZYqqk1xqyR+JdGsvjwiLkTtBlea50Vj8PUV6cwL6EcVbZP23yyhVf0SW73HeyslMFkavRemQ/8p2xxvGGdc2PZbStd/yYC107ANsbBSsqvI+rLHfcuMnFLOWYNtiGTBjulM14KphxpbIsRWRc5YxlnHR7nvPWMY4Vzwo57UN25uAed0MzbBCdFFpwfVt4ZXtoXnhapoL9e5SbruBjC01otH8oB/2b+892NvCK1eN8ZGtfvVbKW8yuSt9W8p/U67228Xvi9bztju/tYNzR4LjnteB4F0mk4rnUFZM8TAII5TClFJ4LcoyKzk3AyUgXqm4dJLtP3iSvOpXTsYZj+iZkAw37p5i8ECZi9CPWMzoR/z1ny6jNp42n62Ud+eZGI43hCj0mAMXfCtnMkUYebWeYEypwYJvWGSFllL65PZbXW2UPloKbtSep4r1HmpuldBspU9WymCqAmGVO44cG2661apubi7qqj+2vRaM5d2NRF11PXGdd7qH814AHcpqEFL6pViEvG0GMvoDhV2udVr7Yugdew+uQR/jkhG26bP33b9b/da7XLEi6ONETa+85W3Xu+VtytuouBat/Qj+5w1CmoIOZTUU2bQ5RigFm1eeysIdIyY8AsgVp8e/R/HYCfBEQv4NJoP0Fny0GKuAw1yEfmSBfoSq/54yequru6pSU2JPkOr0XFcKQhjJDpsD072VCRkpjA4veekfHRSMrKmROGuVYHZFEXyjd9lNPa4529hd+SIVOipV8WFrPk4YqUq7zp3CSIq6UoVRdyyKrq8VddWqH8FtGcS5JpXmscvNPlhPqm9qy9bqGtX+b6sH3BdujcI1U0QfzzB+JORt58G4aTCRY6GEEVEKQ2Gl4JpLodyVWYoZLaTdxWOSMZTETCHlFy5BYaSakWIekLzqS2q4p2hwmRPQjyzVjwz1P1RGhuQib0fn0kDs7LFUb2UqkluMpGp5Gz2t3VWrKCslabh7qkhr3jIVOjpVdNgYb07MvlMXRsMwTesihZExBmcEjx7E8bPNiMGUFk4MvnQp1ztC+189oNaVWsNDw32VeHrjx9A3U+NKN0knEhHCSBWytjeUwuRSSPrb1KUtyH8nm2r8tx7rwb6FXxhFqjQXQYuRz5yAfiR5PzLBYmTF81RpgrW2hzgVomaPXYLFaCBydFC3iAYZpfSpezUjrIQd8mhKf0bYkRYjlzAyjUlzLUZLYlgC9oVzjo45HZibE1DMgZV8CGiMwpi9tWWWGIaH+OJzkFexGBlcQSmkn82gCiOXWci+Kh0CyCNWXDrYvl3wqnoQn2aXtzg8OR+/GA39yIiwVD8SMcfIuhppMXKXS7B8L2uOUQ85j90wrD1VI8eGh3wXjClmOsGNQtKK7VDfmWPSevyemHsP48eGA6nyhjXyqplAl0gY6ePV8RYjKSXnTDdXGPNd5mB3wIZlQhuX4ZpRQeutuTn99lupmz24NiPYnASTawGHgZt88DPMkrHMEp75NxNwzjFShi+bidiphNG1lULTTCVf/5KFLEYuMTRWGLnuO8GPfWtSErlisEVYMCUN5Ko0jzkB/UjCfiSy/tOr0ipzApM9x8gljPzmooXeylTMEkYN6jcJ9G9bOUygngptTbB3XdIsjYPR1VhNoJWZM2bdZmsE1BcLdM6qiKT9MxhW81DVbVRBk023lKybfG2tbxo8MJYxXjYDZFzoAdvVZ4XoRtBaaaWuh9KG4WZiD4jY4zW6n7370m0+dNhbfWimX/dkLJ5SAza9cr8y67bs4s/b2bs32TDlxbVEaw760j9r/aDhIa/bQpk/2evKSiHlV9Z0bAHksr5It0gyovKcibk0IbhfQnlOTjAg6V+v8ZkT0I+k6kfG1v++jPoPPLqel0iVpuR85bvcW5mKBMIIAACuDZdxxSWMpEMMjZImnvPxYWOsU+mG0mjO7lPIYBTnXr4QRgAAMBpS2XgsRkYQz4iVfQs1lMuW44dMp0f0BC1GAFwwEEYAAAAAAC0QRgAAAAAALRBGAAAAAAAtEEYAAAAAAC0QRgAAAAAALRBGAAAAAAAtEEYAAAAAAC0QRrHYX0MHIIY6X3CbMwCSEr9/2Xlzre35tZTvTCCMBvSPsptfmp/0IgkWvTv0UzV+E+lTpdnk4bYcDs6dOU8UI4zqnE3YDQ35HL+ZRuQHDCO/uBgTm+e8/5LLzxG+r3juHyxWuYz2vN+aY2Y8DZdUvouSQBil3PckuHfxcjFruwMmht44cKq306fp1XZiOBiBso3o6TDrieIgd5NdMFXnk8/6Hlsm/Wed/V9zto8nqBlJaSOPOJssjIyHigkSj7vFTm1OQHveefPXYRu1jNL1C2b5jk3V9TBLGJF7Js9i3RdpoVtfnzDadvuD9gfxDButnxJzniiSCcLoevKZ8zJyL25Spnh2xoiMRLq1l0eE+YWRJx5XUmdqI3+Lnd6cgPZc8RZZh+ld7lP0C2T5xr9ZV8VkYfRalI6fHcqmxBvGGde2JpbStSvyYKV07NZrbOer/hrowxq7Ijd+QjFrCbYtpQHzqTtVA66abWxcHPsCcM4yxjIuRF11G7BzrnhQzmtbsjcB87oZuGGF6KLSgusbvyubOPPC1ZQX6t2l3HaDIFtqNKTfTd3cJt3e+F25aoytbKkt1tU92Ld6kqS6u3vR+ey7Xu5IUtwTORC8y0ZS8RzKiikeBmGEfKaf6LUoy6zk1g1b4pWKLUHsqCJPklfjlZMrZpcwCibDjbvFHjxQ5iK05xYz2nN/HabLqI2nzWcr5d15JobjDSEKPebAwJt1hUwRRl6NKRhT3hzBNyzyRZJS+mT+W11tlD5aCm7U2qeK9R5qbtWM2b8wyJchmKpAWOWOI8ekm063qpubi7rqj22vBWN5dyNRV10/Xeed7uG8F0CHshqElH4pFiFvm0GQ/kBhl2sd3r4we9Zd7hwSMi4ZYXe50gEb40RC3ipd+L7QB564vMnk3p1I/xMFIU1Bh7IaCmXaHKPrzOdXrv6eNgSHjBMZfvz+/YpHOtRMTAr9d5EObWQnwCbGKuAwF6E9X6A91+twg6eM3urqrqrUlNgTpDo915WCEEayw+ZAKlVXy0hhdHjJS/+opGDkGxKJszYLZldQwTd6l928PzVnG7srX+RFikpVfNiajxNGqsKvc6cwkqKuVGHUHYui64lFXbXqR3BbBnGuSaV57HLCxqAk1TfxZWt1q06NwuVN4fO5y4eojGiDyRgLJYyIfB6KIwWXnc/lrsy6n7+GEYjUE/HGGzlSSPllmScST4LjbyeDwijcYje4zAloz5dqz4c6HCojQ3KRt6NzaSB29pj6Zl0zyS1GUrX4jZ5O76rNlHWUNBg+VaQVcZkXKTpVdNgYb07MnlUXRsMgTusihZExBmcEjx7i8bPN3AMxekerP7FlnFD/tYaHhpg5NWTjGNwZ3KLCSJWqtjfkswfrdy1pR3H96/rr8ulngo4hL/nTYMu7YMIMghYjnzkB7Xny9nyCxciK56nSBGttD3EqRM0eg8VIYd4co/CopG6JDTLqFwZ1r2Zkl7B/Hu0XxoywIy1GLmFkGpPmWoyWxLAi7AvnDB5zsrDStTcTWdR4tGgtEfCtVM5Q3XlaVrEYGVxEPtNtjiqMPNYX+xIpgDx6xaVW7dv5rwZvJL3SbYIwklJ6W+z4xWhoz0eEpdrziDlG1tVIi5G7XILlizlGJpOFkZSO+fOGQe+pGjkmPZS3YEwxDwpuVA6tuhzqO3MsXI/fE3PvYfyYdCBV3rBGXjUT9xIJI32cPN5iJKXknOnGDGM2zBzs7tnoSrWxGK4ZJLS+nGtTd7+V7kkw9n2FvNUn9m4to4Vv8Gg8zjlGygBlMxE7lTC6vHxumhry93TQYuQSQ2OFkeu+Y/3ECCz7wBUhqbpckKvSPOYEtOcJ23NPHdaSQK5Kq8wJTPYcI5cw8puLIlN1bcwSRg3qtxD0b2o5TK+eF8ma2O+6pFk4B2OvsYpBqyvOmHVbsRFQX6TQOesFIO2uwbCah6puowqabLqlZN3ka2v10+CBsYzxshkg40IP2K4+K0Q3gtZKK3W1lDYMNxN7MMUezdH97N2XbnOtO99al27cA0C3en+srrFyrZaagL64z1ohaHjI6zbb50/nurh89n8pzRZApJFG1RkuYeS368RfGuUneF+PjJMjhVGD/vUanzkB7Xmq9nzs1/76Muo/8Oh6XiJVmpLzlW/KbxBeFgmEEQDnBTELGCzAcfLZEDrqeftfjxhyyYux58f6Ib2RCm+sAIoBn0K+bFC+04AwAteFNvEFLMbR8pnUDR6LkRHEZYkhb6GGIoO4x8ecQUbdfQltBAAwgDACl4/2qcPT2wfjYkA+AwAuAAgjAAAAAIAWCCMAAAAAgBYIIwAAAACAFggjAAAAAIAWCCMAAAAAgBYIIwAAAACAFgij9anzBTfJuiqQk5cNyhcAkBayVbkYYSTYtP2fl8XarINirea++erMbTkcqOyL8Adp7E24lk6Vn8vrOOfkRkwJzqe9i3KLSWk+6TfFQVSal+P060Za5jzvaXKaT7Ru3YjpUxK1OS1LCaOT2m+F3hpwJsGdnIMRUNuIzkXZDnYaTR3aieHAxtxrXWc77WUW8tb9ysWkKjGunFS3nCuEsoVccDe7ZMzPDX8Jutjqm5qp26UFbzEnzUd8UwZZ0xWocmbMm7VImkY2Rw4AAA0KSURBVCM4ft3oP+DZh9oe8XueK7QMCzPribyt6HymtRvziexTErY5JLOEEblX87pAGMWz7Zqzrbtd2xe+HnEaQbEVTFVifDkpuCKD6jzFJq9jmJ8bc0owMqzhbU6aj/ym2Lc7lNXYIl5LGK1SN76V8jbXbne0vV9WaBkWZs4TLS1clmj5E5KwzSGZLIxei9JhKFI2Q94wzri2JbKU3t2YvWH1bYR5TSXLJYxCYYeRuA1jrO6VkHae2rs4CkfTGTLFt5vetz9qecE4NwMy+zcuL1z7NBV6Re+1uUek73JKfQt56zUkaFtDqJHbG79bt45JlZ2gRXKy9TCYE+zIRaGGVS1JfcxVLfQ0FCJZGen5uS2IwqJL0FNGEWFVe9Le8japBFuO+qZIQjPVeVdeZrROTUyrK+VGna1RidlTc067buwLuRNyq/woN7qobyVhZWzHPoq25mx5V4VURcUDFXJ0vWotvlwo5cjVPHSVbxMwr+u8f2G5HXzpEpzWihpjSVsyM2fUDbJ8w2kOXg31KQu0Ob5WZYow4rzMyrKgt+wVjClqRvANixdGvrBvdbXR+x1SG5HCKBD2UN9piRTMUD8LW4w8ncHwHnJOvNVzLEZC3jatW39A+vGqb3L79F1utqRGRXe9crGpcrNATgreNazcel1N6wLnWvso6krvCyXno8Zo/LnRtDJ9/jd9j1kcjhIMllEDUb5cb7m4vMl1b4uUoP/qrDdFFHpYr0/yKp0qr+QK1JwYVqobTVmr5gr1dd6pxiQ9/iYNW65UISFv+1RxM4VGMqbWq6bzU3+c6K+k6lUtX1FXXX9Z553uUYrpCCU4uRU1LhlhZ9YNV/kG03xebc5IYXR4ycsy47QmatLISFNQFJ6wgtkySPCNVRUpYRQIW/PQfO3VhJHzHZYywVBaGO41krtfHp8Ndsmh8QVysm9YbYuRNsrWwrnaXBpdaZ0T6moahCGdzFhHCQbKyBVW7cmUlCQcSVnhTVGKTBNJ0fGMF0bhmjOHBetGH09fEzyvsx5/31sPyRPytvNAdIdpGgpdNBsWQdOvUmTKsSi6F1/U1WA/XrAE5bxWdGtJzF4rzKwbfj/+NEe1OXZiVmpzkluMeoPQpDVirrDaEJtvVIsQRqGwtT3YZ7COMNIn/9rmPueU4VhDbpDAMLb75VHNnubLEPPKTSVxTkppzzEaGlnDDu8cieuCqO3m7DLa5YStzsZTgr4ycoT9VhI+0851OOqb0tF1lnZvZ43EJRFG/ppzynWDa4ai1vxTDFeN8Z0hrNLh9aaCIQHU2NBNmskiZpnqwshdvn5htHAJNkxsRQ1tof87q254yjcmzRFtjv1ca7U58+YYlcEfwPro2DjUsJTVhyLWYqRwqhYjA/OnzxEsRr4xr+jZecbPl32x4JzBBXJSb1i1oRbqVyOVpCaI76fqeLZxfYa/BIfYqCFRu3zJ9ijqh2A0q7wpTbTWtOvYeNJYjNKxXN3QqgSXN8XQbzVTT/aOgGqH158fYuPLtQkeYeQt3wkWoyWJb0XNl1SXGpPrRqB8I9Icc/V02pzJwkhKSaxKM2fzSPlUxc4xCoQV3LAPvdVVlMUoGPZQ3+mJeasrLXmH+m6QVoIxZg/h+ZnQ3NurY8yBmOEtle1Pn9QLpvw1m2xY7RfYNrcOobj7p8MkFshJu2H1TUnpZZAaO88YL1Ka2aWV+U2zRf5Es0swWEbOsPpEkH4aZsxv0EhWelMEz3hlKlej6AUfazHKtD5Ym3wdVXMmslzdIGa8KgNk5kQWfeXaMHyWD376e9kddqRuC+EXRu7yDQijZUtwTiuqaSZuznGeXDf85RtMc2SbQxT6Sm3OLGHUUO6GWUdvdWWMWNEyxSWMvGFND4rW0ReddU6p9p6wUlrDbZTemjA4qC9bMNc++K8qX81xzpxX/SRbMKysDiBt2vYXboZqapvE7drPqYAzk7xQTurfMdJ8uiJ3dJzMPwlmyjPrxZS7LxkeQmVkrBwxGlYteD7ca2YftvqbQk+s1kfoeNkMoLTNij9Vxk05b+bwDnePqTkTWaZubK2ThhVBbRlu8yFm7etHnK456lonotZNYyi+fqhUrwOu8tUDtgVdiG4ErX2XlyrBma2osbgvt8Y0p9UNd/mG0xx6Il+fItdpcxIIIwCAhwmfxgEAALAWEEYALEpozRQAAIBTAsIIXAL//e3vp3bcm2r/+9vfWTfNU/UDAADgBIEwAmdPozbO6y8AAIDTBMIInDcnYh+afAwAAOCkgDACAAAAAGiBMAIAAAAAaIEwAgAAAABogTACybjJ6GP/SQAAAOB0gDAaeKpGbnl79dhCpznjEkCnIYxei3KX6jvh64IaCwAAybkEYdTsBzK/hzixbsb6gP1xaT7kf1sOBza90Ok/2d4fS7dsUv+1Pcfcdw7iZdfvYLMWF1pjAQDgEkggjMpdme1elk6oH3rv2FQc6jtr97SjEbejeHoaXbITw4GKSwPZB/2/hnN5Ju+r7scXg7tOnoq5aK0aOzYnAQDg2pgljMTLLivL/GX9fgbCKDnbbo/A/sDAkDXGX4+5yLYnqceu+3JeZmVZhPp0f508BXNRw4o1NjInAQDgOpksjF6L0vGjXNupnjPOmLFRlOAbxjaserL7BUfYdnP7rq3v9rofYmi7mTZmZZyiOVPVTxXbMLbhovejpEowI5QkLg0uTiQZe2t3OzMrW/iqZ/R9uY14DGHUxtxt5tzdSNuQS986mA9XeJE5KLh6E7nthrG2EeNo0rIezRFG7vu+FmWZlZxLEnedHDxQ5qJrrLH+nAQAgOtlijDy/uIUTG3BBdcb9OEk1c14w1o/gp8qvZupqg3j9XC16zMO9V3XfzxVrPUjuOp5iIT8ET/dYiS4KkqkrHPm6otEMWgd7eakxUjUle65zgdhZG7nzjnTkxGRcHnbDGP1Bxb2BKOY2UWBQbeI+8pXbtuEYqwgDnPRFddYKicBAODKGSmMDi956Z+jIBj5wzoKb9hQN2P9LBas6UiUgDVX+54jCCNd1lhqRk8vfXW8MDLVmJRScu6ySE3DpYrIQTQZbS6Kp9yVWWP+CdfJBtfsomuvsUNOAgAAWMBiJNXRgdFLbzxhg7+/rRu1HlYVRqpMEYVhLhrWnbUuiTAyRuiMyKOH0vx47EOjzEWk/wCTLEa+2UVXW2NhMQIAAIt5c4zCcxT0sYZx6GHP5Pe3jShYVR4sKSN4puukRS1GSVHNQsFxNFIDuRavhYiYY0RfjV+MdiU1FnOMAACAZrIwkpJaAfRWVxu9U36qYmdsBMIe6rshSDPD1JqxoXQG2oyN+d3M4FmwZkpsPKKuMs4Jc5Eai+BjLUaZqoT0ydecG1EdyoqMfAJ++5D/20XqNG3PuBtJU9mmrUrzmIuusMZG5iQAAFwns4RRg/pllG71jXdgwtPNeMOqHpho5qWyu/rQfy5P9aCt8elu1/jccNEtJlJOGk7v8IiYxyAKRkx/5lwd6uJlMwQ2jLsRw2HKPCFj1Vuda5+CVK+6BumS4J9g5DcXyWiL0dhvZelf6/GZi66txp7CV8cAAOCUSSCMwNXikTX2cJsdZNq067GczreLAAAAnD4QRgAAAAAALRBGAAAAAAAtEEYAAAAAAC0QRgAAAAAALechjMQZsnaeAQAAAGA0EEZLsXaeAQAAAGA0EEZLsXaeAQAAAGA0EEZLsXaeAQAAAGA0pyyMhg8Wry1yprBq1gEAAABgCqcrjNQPFqcSK//mD8ouCg8fv6SKmGDFrAMAAADANFYWRu6dm7T9rdJIlS/8B/b4nCauMNLcsQsAAAAAp85qwojcBV27qkiKNFLlC//hgaeJKoIm5ZyX2MkcAAAAOBdWEUavRenf4tvcDn1QNsNA2OP2kW33uhjZP9JjZFrA1v3Avzg86MHbONl2PxxvHnh7/MA/PrANY5vHveZTG0p7LcoyKzlfJjcBAAAAkIpjC6MYC4q9HXqjULZMUUL7xw2LFka9+iEtRvtHLcgX/oMV8/Ojrpn2++fOZyOwPj6wTTNOt39sDsyneuUeCxkAAAAAToEjCqPDS17GzLkxzUVyEEbzpks7hNHHB8rCpPt8fmSbR0OFad6eHzsTVDeTiXy2cldm1tMBAAAA4EQ4OYuRbS6S/VBaP5Jlj4VNF0b7LTEj2zz5bA/bjRVGsBgBAAAAJ896c4zoOTeEuUjSk6/1kbXpwijWYjRDGGGOEQAAAHAerCKMpHSsSiPNRVJK0XyCSB/M+viQbo6Rft6OebIwah4Tq9IAAACAs2A1YdSgf+mHNhfJXhh5lpX5hZE+BqeuHWswIldj7qZdK64RQ0OcDx+/dN4e990Ct4eng+crTQAAAAA4RVYWRiouc5HEliAAAAAAOAonJIw8rC1yprB2ngEAAABgNBBGS7F2ngEAAABgNBBGS7F2ngEAAABgNBBGS7F2ngEAAABgNH5h9P9BfZn5d9qb+wAAAABJRU5ErkJggg==)
三、Result类型
Struts2的Action处理用户请求后返回一个字符串,必须在Struts.xml配置文件中进行字符串与实际视图的映射,才能完成实际的控制器功能。在配置文件中是通过action的子元素result来完成此功能的,其格式如下(第一条是跳转向action,第二条是跳向jsp网页):
![](data:image/png;base64,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)
其中的type属性有多种选择。