问题描述
使用Spring管理Dispatchaction可以使用@Control("name")来映射,请问MappingDispatchaction会对应好多个path路径那么使用注解的方式该怎么映射呀???
解决方案
解决方案二:
不明白,你的结贴率也太.....
解决方案三:
LZ才发了这一贴。引用1楼lifeng_2009的回复:
不明白,你的结贴率也太.....
我也不明白LZ的意思。。。
解决方案四:
帮顶了
解决方案五:
我只发了这么一个帖子--哪来的结贴率呀。。。我的意思是这样比如:使用Spring注解来管理Struts我们写了一个action<actionpath="/user"path="com.xxx.xxx.User"></action>那么在Action当中我们重写execute@Controller("/user")//这里要映射成publicclassUserRegisterextendsAction{publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{//TODOAuto-generatedmethodstubreturnsuper.execute(mapping,form,request,response);}}那么问题是MappingDispatchaction,这种Action是好多个path指向一个类例如<actionpath="/user1"path="com.xxx.xxx.User"></action><actionpath="/user2"path="com.xxx.xxx.User"></action><actionpath="/user3"path="com.xxx.xxx.User"></action>那么@Controller("???")这个地方该映射成哪个名字,因为名字有很多。。。
解决方案六:
补充:我想使用MappingDispatchaction的原因是我使用了验证框架,并且对一个ActionForm配置了多种不同的验证策略,如果使用Action,配置会膨胀,使用Dispatchaction不行,因为Dispatchaction中的所有方法使用的是同一个ActionForm对这个ActionForm指定了验证规则会影响到其他方法使用,所以我考虑即能满足一个ActionForm多中验证规则,又能是Action配置不膨胀的最好方式是MappingDispatchaction但是我不会使用Spring的注解映射这种Action,使用<Beanname="/xxx">这种配置文件是没问题的,关键是注解怎么映射--
解决方案七:
问题一样,等待解答
解决方案八:
该回复于2011-04-06 17:01:10被版主删除
解决方案九:
@Controller@RequestMapping("EDIT")@SessionAttributes("site")publicclassPetSitesEditController{privatePropertiespetSites;publicvoidsetPetSites(PropertiespetSites){this.petSites=petSites;}@ModelAttribute("petSites")publicPropertiesgetPetSites(){returnthis.petSites;}@RequestMapping//default(action=list)publicStringshowPetSites(){return"petSitesEdit";}@RequestMapping(params="action=add")//renderphasepublicStringshowSiteForm(Modelmodel){//Usedfortheinitialformaswellasforredisplayingwitherrors.if(!model.containsAttribute("site")){model.addAttribute("site",newPetSite());}return"petSitesAdd";}@RequestMapping(params="action=add")//actionphasepublicvoidpopulateSite(@ModelAttribute("site")PetSitepetSite,BindingResultresult,SessionStatusstatus,ActionResponseresponse){newPetSiteValidator().validate(petSite,result);if(!result.hasErrors()){this.petSites.put(petSite.getName(),petSite.getUrl());status.setComplete();response.setRenderParameter("action","list");}}@RequestMapping(params="action=delete")publicvoidremoveSite(@RequestParam("site")Stringsite,ActionResponseresponse){this.petSites.remove(site);response.setRenderParameter("action","list");}}这是文档的例子看有没有对你有用