本文目录一览:
简述Struts2的配置文件包括哪些元素
1、package元素
package用来管理action:使用了面向对象的思想
属性:
name:用来定义包名,注意:同一个配置文件中包名是唯一的。
extends:指定所继承的包,一般情况下需要继承struts-default包
truts-default.xml中定义着struts-default这个包。
truts-default.xml是在我们的struts.xml加载之前加载。
abstract:指定包是抽象的,只能被继承,含有action的包不能是抽象的,默认值是false。
namespace:名称空间
名称空间 + 动作名称 = 访问路径
package name="p1" extends="struts-default" namespace="/a/b"/package
1
struts2查找动作的方法:
1:先按照用户输入的路径查找路径: /a/b/c/d/action1.action
如果没有找到再向上一层路径找:/a/b/c 找到了(不会再继续向上找)该路径则执行第二步
再向上一层路径找:/a/b 找到了(不会再继续向上找)该路径则执行第二步,找不到继续向上一级找
再向上一层路径找:/a 没找到 找到了(不会再继续向上找)该路径则执行第二步
再找/ 也没有的话去默认命名空间下找。
都没找到直接报错
2:找action: 先在当前的命名空间下找 ,如果没有找到则取默认的命名空间(没有写namespace属性的)下找 ,如果还找不到报错
一般只要我们有默认命名空间的pakege标签时,第一步是不会报错的。
谁能详细给我解释一下struts2的一个配置文件中
配置包时必须指定name属性,该name属性值可以任意取名,但必须唯一,如果其他包要继承该包,必须通过该属性进行引用,包的namespace属性用于定义该包的命名空间,命名空间作用为访问该包下的action路径的一部分,见示例.namespace属性可以不配置,如果不指定该属性,默认的命名空间为””-struts2配置文件参数详解
通常每个包都应该继承struts-default包,因为struts2很多核心功能都是拦截来实现的,如,从请求中把请求参数封闭到action,文件上传和数据验证等都是通过拦截器实现的,struts-default定义了这些拦截器和Result类型,可以这么说,当包继承了struts-default才能使用struts2提供的核心功能,struts-default包是在struts2-core-2.xx.jar文件中的struts-defalut.xml中定义,struts-default.xml也是struts2默认配置文件,struts2每次都会自动加载struts-default.xml文件.-struts2配置文件参数详解
Action 元素method属性,默认值为method=”execute”,也就是当action接收到请求后,交给哪个方法去处理,默认的是交给execute方法去处理,当然,也可以交给其他方法,{1}代表通配符,比如你上面的{1}index,我访问 aaidex,bbindex都能够跳到此控制机器定义的这个方法-struts2配置文件参数详解
result name="success"/WEB-INF/JspPage/chapter1/HelloWorld.jsp/result
result元素主要定义视图的跳转和返回的行为及类型、
你定义的indexAction变小写是因为这是为spring接管了,。你spring配置文件中肯定有个bean的id是indexAction,class路径指向包名+类名。
struts.enable.SlashesInActionNames: 该常量设置struts2是否允许action名中使用斜线,该常量的默认值是false。如果希望使用斜线,将该常量值设置成true即可。比如action name="aa/bb"-struts2配置文件参数详解
请帮我详细解释Struts2的配置文件
constant name="struts.configuration.xml.reload" value="true"/constant//是说,当你的配置文件改变是,struts自动读取,不需要你重启服务。-struts2配置文件参数详解
constant name="struts.objectFactory" value="spring"/constant//与spring框架结合使用,你的action对象由spring帮助生成了。
package name="" extends="struts-default" namespace="/"//这个struts的包名,继承struts-default,就是这个写,你也不需要多想,name写什么都行-struts2配置文件参数详解
//UsersAction这个类实现了action接口,给这个action起来个名字叫usersAction_*,*的意思是说,usersAction_后面可以跟要执行的方法名,这与method="{1}"相呼应,*的名字,就是{1}的方法名-struts2配置文件参数详解
action name="usersAction_*" class="UsersAction" method="{1}"
result name="success"/result.jsp/result//return “SUCCESS”时的转向路径,注意我的大小写
result name="input"/login.jsp/result//return “INPUT”时的转向路径,注意我的大小写
result name="list"/list.jsp/result//return “list”时的转向路径,注意我的大小写
/action
/package
在struts2配置文件中,这些有什么作用?
在struts2配置文件中作用:
constant name="struts.custom.i18n.resources" value="globalMessages" / 设置全局资源文件名称为 globalMessages(src下会有一个globalMessages.properties)-struts2配置文件参数详解
constant name="struts.action.extension" value="do, ," / 设置Action的访问扩展名为 .do
constant name="struts.i18n.encoding" value="UTF-8" / 设置参数编码为UTF-8
constant name="struts.multipart.maxSize" value="1075555555" / 设置上传文件允许的最大字节数
constant name="struts.multipart.saveDir" value="C:/" / 设置上传文件所保存的临时文件夹