浏览 2590 次
锁定老帖子 主题:web项目配置映射方案
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-10-19
最后修改:2012-10-19
当我访问"http://localhost:8080/test/aa.action"时,自动匹配到struts.xml文件,里面的方法<action name="aa" class="xxxxx"><result name="success">/success.jsp</result></action>跳转到success.jsp页面 当我访问"http://localhost:8080/test/aa.do"时(或自定义后缀名.json),自动匹配到另一个struts文件,例如(struts-json.xml),里面的方法<action name="aa" class="xxxxxx"><result name="success" type="json"></result></action>,返回json数据 如何根据访问url的后缀不同匹配不同的struts.xml?(例如:访问"aa.action"匹配struts.xml,访问"aa.do"匹配struts-json.xml) 简单一句话就是,访问"aa.action"返回jsp页面,访问"aa.do"返回json数据 **访问的名字要相同都是aa 大神们,怎样实现??或者说有这样子实现的可能吗?? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-10-21
最后修改:2012-10-21
不需要多个action定义,就一个action定义即可。
开发一个拦截器,获取请求的后缀,然后对action返回的结果进行处理 |
|
返回顶楼 | |
发表时间:2012-10-22
我建议是,用struts2自定义返回类型处理。
比如你的访问路径 http://localhost:8080/test/aa.action http://localhost:8080/test/aa.do 差别只在后缀上,没有必要再次写一个struts.xml,可以自定义一个jsonResult返回类型。 <action name="login" class="base.web.actions.base.login.LoginAction" method="login"> <result name="success" type="jsonResult"></result> <result name="dispatcher" type="dispatcher">/miniui/base/login/base_login.jsp</result> </action> Action方法: public String index() { //getResult();这个方法可以判断访问路径的后缀 action Or do //当然这个方法体内,具体的处理,action是什么处理,do是什么处理 return getResult(); } 自定义返回类型 <result-types> <result-type name="jsonGrid" class="base.web.tools.result.JsonUrlResult"/> <result-type name="jsonResult" class="base.web.tools.result.JsonResult"/> </result-types> |
|
返回顶楼 | |