Struts2配置

#2020云栖大会#阿里云海量offer来啦!投简历、赢阿里云限量礼品及阿里云ACA认证免费考试资格!>>> hot3.png

3948548697141f94cd432d010fd496c992c.png Struts2配置



a590b0212c509b70d9d04756a0ac199bce2.gif


  1. Struts2配置

  2. 结果页配置




47b2d69de949d3b92246ac86bc3fd8d8173.gif 1 Struts2配置

配置文件加载顺序


Struts2中有很多配置文件可以去配置常量,对同一个量在不同配置文件都配置了,那么生效的肯定是最后加载的,因此需要知道配置文件的加载顺序


1.前端控制器(过滤器)类的初始化方法


74735e2dc9863bcad65d9e1d481c1c67758.jpg


2.得到dispater的initDispatcher方法


2e5059054c4082a8ec2a98baead3a129319.png


3.初始化dispater

0ee737b3612fcbbecaac9d1373dde700046.jpg


可以得出配置文件加载顺序


init_DefaultProperties()default.properties
init_TraditionalXmlConfigurations(); struts-default.xml
struts-plugin.xml
struts.xml
init_LegacyStrutsProperties(); struts.properties
init_CustomConfigurationProviders();加载配置提供类
init_FilterInitParameters() ;加载web.xml中过滤器初始化参数
init_AliasStandardObjects() ;加载Bean对象


常用的配置文件加载顺序(从上往下)

default.properties

struts-default.xml

struts-plugin.xml

struts.xml

struts.properties

web.xml



struts.xml


8fad715a06461934a25639fe9dcb77b7174.png


根元素struts


package标签


  • package于action的关系就像是包和类的关系,不同的模块不同的package,每个package下可以有很多action


  • name属性:包的名称在同一个项目不重复即可


  • extends属性:继承哪个package默认是struts-default它当中定义了很多结果类型和拦截器,只有填上它才有后面的一些类型自动转化等功能


  • namespace属性:它和包名共同决定了访问路径,当它是空时只要满足最后的包名就能访问到当前包,不为空则要写上namespace与包名共同构成的别url才能访问到


  • abstract属性:开启后当前包就不能被使用,只能用来被继承



action标签

  • 首先就是配置action类,然后就是标签属性

name与namespace共同决定访问路径
classAction类的全路径
method执行Action中的哪个方法的方法名,默认值execute
converter用来自定义类型转换器,一般不设置,内部提供的转换器已经够用



常量配置


在在default.properties有很多常量的配置

(截取一段)

e52791a160e44f7748035d2f8a5f8b791d9.png

比如有个常量struts.i18n.encoding=UTF-8

在Struts2中post请求的中文乱码问题不用再去在代码中设置


一些时候这些常量的值我们需要修改,但是在default.properties中设置的常量我们通常不能去直接修改


我们去修改有三种方式:struts.xml、struts.properties、web.xml


一般都是使用struts.xml所以不会单独再去建struts.properties。



struts.xml中修改


通过constant标签,name和value则是default.properties的等号两边

50a9a1209ba3c2e3af5d0a69d75a986da5d.jpg



web.xml中修改


web.xml这些常量配置在过滤器中param-name中为常量名,para-value想要设的值,注意加载顺序

323db63616bc1505e700f6cd09c6049178f.jpg




外部导入include


可以通过include标签去导入其他配置文件内容,这样就不用都写着struts.xml中而是各写各的最后通过include放到struts.xml中

0baaa17af1aa54a75b5878b9e2f2e1bb352.jpg





47b2d69de949d3b92246ac86bc3fd8d8173.gif 2 结果页配置


有的请求需要返回页面时,就可以配置结果页


56da2ce24ab953518a09acca7e68d17ec9b.png

6d6ded0247af737cba9b5ea0a97447936f3.png


请求访问到action类后,得到返回字符串返回值就会到当前的action标签去找有没有name匹配的result,没用就会到全局results下去找。最后返回指定的页面



本文分享自微信公众号 - IT那个小笔记(qq1839646816)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

posted @ 2019-09-17 19:58  木瓜煲鸡脚  阅读(31)  评论(0)    收藏  举报