今天上了一下午的课,回来看看Struts2的相关课程,正好看到了Struts2的执行流程。按我自己的理解来说一下,在浏览器每向一个
struts.xml发送请求的时候,首先会经过很多拦截器,调用拦截器的是Action生成生成的一个代理,Action的调用是通过ActionProxy
代理实现的,调用他的execute()方法,然后调用了一系列的拦截器.这些拦截器也就是struts-default.xml 最下面,里面配置的拦截
器栈,<interceptors-stack> 这是拦截器的集合,到Action之前,集合里面的拦截器都会一个一个的走一遍!
在请求进入Action之前会经过很多拦截器,其中有一个叫做Params拦截器,他的作用是把表单字段映射到ValueStack栈的栈顶对象的各
个属性中,栈顶对象是Action!如果某个字段没有匹配的属性,这个Params拦截器将会尝试ValueStack的下一个对象!
=======================jsp的值为什么到了Action中=======================
params -》modeDriven -》 params
还是单独的属性有优先性!
后来看到国际化Struts心都碎了 直接快进 看都不想看 好累啊 有对象就是累(因为异地,有人追我女朋友)!!我好想睡觉 不想学
习了 好困 好像躺下睡觉 不想学习。
struts.xml发送请求的时候,首先会经过很多拦截器,调用拦截器的是Action生成生成的一个代理,Action的调用是通过ActionProxy
代理实现的,调用他的execute()方法,然后调用了一系列的拦截器.这些拦截器也就是struts-default.xml 最下面,里面配置的拦截
器栈,<interceptors-stack> 这是拦截器的集合,到Action之前,集合里面的拦截器都会一个一个的走一遍!
在请求进入Action之前会经过很多拦截器,其中有一个叫做Params拦截器,他的作用是把表单字段映射到ValueStack栈的栈顶对象的各
个属性中,栈顶对象是Action!如果某个字段没有匹配的属性,这个Params拦截器将会尝试ValueStack的下一个对象!
=======================jsp的值为什么到了Action中=======================
params -》modeDriven -》 params
还是单独的属性有优先性!
后来看到国际化Struts心都碎了 直接快进 看都不想看 好累啊 有对象就是累(因为异地,有人追我女朋友)!!我好想睡觉 不想学
习了 好困 好像躺下睡觉 不想学习。