struts2的ModelDriven,Preparable拦截器的问题 本帖最后由 yzk116688 于 2010-03-29 10:30:16 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <interceptor-stack name="defaultStack"> <interceptor-ref name="exception"/> <interceptor-ref name="alias"/> <interceptor-ref name="servletConfig"/> <interceptor-ref name="i18n"/> <interceptor-ref name="prepare"/> <interceptor-ref name="chain"/> <interceptor-ref name="debugging"/> <interceptor-ref name="scopedModelDriven"/> <interceptor-ref name="modelDriven"/> // 模型驱动拦截器 <interceptor-ref name="fileUpload"/> <interceptor-ref name="checkbox"/> <interceptor-ref name="multiselect"/> <interceptor-ref name="staticParams"/> <interceptor-ref name="actionMappingParams"/> <interceptor-ref name="params"> //参数拦截器 <param name="excludeParams">dojo\..*,^struts\..*</param> </interceptor-ref> <interceptor-ref name="conversionError"/> <interceptor-ref name="validation"> <param name="excludeMethods">input,back,cancel,browse</param> </interceptor-ref> <interceptor-ref name="workflow"> <param name="excludeMethods">input,back,cancel,browse</param> </interceptor-ref> </interceptor-stack>以上是struts2默认拦截器,根据执行顺序,先执行模型驱动拦截器,再执行参数拦截器。没有别的办法,Action中id修改名字。 额 需要实现 ModelDriven 吗 不用实现 只需要给两个属性增加set方法 然后在前台空间的name里写入的属性值和类里的属性同名就行了 实现了这个的话在页面上传值就不用写user.username,user.password.直接写username,password就可以了 这个我也知道在struts2的jar里面可以看到,可是要让他正常工作应该怎么弄呢?我觉得先后顺序应该是:先拦截参数,再拦截model,最后执行action…… 可以在struts2的配置文件里struts.xml,进行设置默认的拦截器吗??? 把这个拦截器<interceptor-ref name="paramsPrepareParamsStack"/>加到你的action中可以实习你想要的顺序 数据库驱动应该放在哪里? 对ssh框架的一些看法(2) 想问下webwork 能不能与spring mvc结合? struts配置struts-config.xml的问题 web在服务器上部署出现乱码 *****一个很急的struts问题,已经问了半个月了可是没人帮我解答一下,周一就答辩了 如何提取dom下面各节点的数据?? ve在eclipse3.0中是不是不能用呀? 字符串替换的问题 请教如何跟踪jdk的源代码? BS中两个关于ID的问题,在线等 求Java模拟登录139邮箱实例!参见下文!!
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="debugging"/>
<interceptor-ref name="scopedModelDriven"/>
<interceptor-ref name="modelDriven"/> // 模型驱动拦截器 <interceptor-ref name="fileUpload"/>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="multiselect"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
<interceptor-ref name="params"> //参数拦截器 <param name="excludeParams">dojo\..*,^struts\..*</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
</interceptor-stack>以上是struts2默认拦截器,根据执行顺序,先执行模型驱动拦截器,再执行参数拦截器。没有别的办法,Action中id修改名字。
实现了这个的话在页面上传值就不用写user.username,user.password.直接写username,password就可以了
这个我也知道在struts2的jar里面可以看到,可是要让他正常工作应该怎么弄呢?
我觉得先后顺序应该是:先拦截参数,再拦截model,最后执行action……