<table class="text">
<tr class="li1"><td class="ln"><pre class="de1">1
2
3
4
5 拦截器+反射,就是在request到达后台处理程序之间,加一层拦截器,截获到request对象,就可以通过request.getParameters()获取请求参数,然后通过请求URL可以得知你要请求的是哪个action类的哪个方法,然后你action中定义了跟request请求参数名称同名的属性,并提供get set,那么通过java反射机制调用action类的响应属性的set方法就可以把参数值设置进去,也就是所谓的“action属性自动注入 在struts2中的拦截器的原理就是AOP,我们在访问每个action之前和之后都会访问拦截器,Struts2中提供了多个拦截器,其中有一个专门接收参数的拦截器,在这个拦截器中根据前台对应的属性,找到action里对应的set+对应的属性的方法,进行注入,也就是通过反射去调用对应的set方法的。楼主应该知道,在action中可以没有对应前台的属性,或者是和前台的对应的属性名不一样,但是必须有一个和前台对应属性的set方法才行,如前台name,后台可以没有name属性,必须有一个setName()的方法