struts2 和 ajax 用到了同一个action。 30
struts2和ajax用到了同一个action,这样一个请求是需要跳转(struts),而另外一个请求是不需要跳转的(ajax),那我在struts.xml中配置的时候...
struts2 和 ajax 用到了同一个action,这样一个请求是需要跳转(struts),而另外一个请求是不需要跳转的(ajax),那我在struts.xml 中配置的时候,可不可以只配置一个action,这个action集成了 struts2 和 ajax 的处理请求 。我试过了,没有通过,不晓得是jar的原因,还是其他的原因,谢谢了。【当然配置两个包,而一个action就需要配置两次,当然是可以的,我想知配置一个action,但是却有处理ajax请求和struts请求的功能】大牛们,给力呀。高分。
展开
4个回答
展开全部
你好,既然它们逻辑上有相似,而业务流程不同,那么你这样的设计就是不合理的,说明你重构的不好,你可以将相同的逻辑处理抽象到一个方法中,然后配置不同的action,调用那个方法之后,加上不同的业务处理。否则你的代码可读性不好,后期维护起来也困难。
更多追问追答
追问
师兄 ,我现在才大二,你能说的详细点吗?我意思是 我只用一个action 来配置 处理 ajax请求和 struts的请求。。。“你可以将相同的逻辑处理抽象到一个方法中,然后配置不同的action,调用那个方法之后,加上不同的业务处理” 这个应该是配置了两个actin了吧。还请赐教。谢谢。
追答
你好,你struts学完后应该知道,可以直接调用一个action中的不同方法。你写两个不一样的方法,每个方法封装各自的业务,就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样是可以的,比如登陆的时候,登录成功进入另一个jsp,不成功,把信息返回到登录界面.
在package里面的extends="json-default",json-default也继承自struts-default,这样result的type属性就可以直接写json了.
进入另一个jsp页面的,type属性可不写,默认是请求转发,也可换成重定向等,但是type属性换成json,那就表示不能返回一个视图了,它会把action中有get属性的成员变量封装起来返回给原来的视图.所以type="json" 并且extends="json-default"就行了,注意导入strus2-json的jar包
在package里面的extends="json-default",json-default也继承自struts-default,这样result的type属性就可以直接写json了.
进入另一个jsp页面的,type属性可不写,默认是请求转发,也可换成重定向等,但是type属性换成json,那就表示不能返回一个视图了,它会把action中有get属性的成员变量封装起来返回给原来的视图.所以type="json" 并且extends="json-default"就行了,注意导入strus2-json的jar包
追问
这个我都试过了,好像不行。而且如果action 里面集成了处理ajax请求的话,当我们再提交 struts请求到同一个action的话,该action是不访问不到 ServletAPI 中传递的数据的。所以这也是一个特别急人的问题。无奈,我在struts.xml 中定义了两个action处理不同的逻辑请求。但是心中有疑惑,总觉得一个action也可以。但是就是没有找到办法。。师兄,你该action无法访问ServletAPI 里的数据,怎么看啊 ?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sturts2可以在struts.xml配置result转页面,ajax只能在前台配置转页面!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按理说是没问题的啊,只是返回内型不一样吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询