可不可以用dwr调用struts中的action方法?
可不可以用dwr调用struts中的action方法?当然要使用url链接的方式调用,这样如果记录不允许删除就可以不跳转页面了。之所以要用url调用是因为,整个项目用url匹配方式控制角色权限,如果用dwr的话,权限如何控制,是否要控制到方法级?
http://blog.youkuaiyun.com/loveyou0406/archive/2007/05/23/1621900.aspx
- < dwr > < allow >
- < create creator = "struts" javascript = "testFrm" >
- < param name = "formBean" value = "testActionForm" />
- </ create > </ allow >
- </ dwr >
http://blog.youkuaiyun.com/loveyou0406/archive/2007/05/23/1621900.aspx
我的项目在用dwr和struts1,以struts为主,dwr主要是在界面验证查询用。
在列表界面要删除选中的记录,这些记录需要后台验证是否可以删除,如果其中包含不能删除的记录,需要在本页面提醒用户这些记录不能删除。如果只用struts实现则会有页面跳转,再返回本页面,还要把原记录打勾,好麻烦。
在列表界面要删除选中的记录,这些记录需要后台验证是否可以删除,如果其中包含不能删除的记录,需要在本页面提醒用户这些记录不能删除。如果只用struts实现则会有页面跳转,再返回本页面,还要把原记录打勾,好麻烦。
汪兆铭 (架构师) 2009-01-07
你是否想复杂了点,先说你的删除问题
你不要ajax的话,那样确实比较复杂,如果你用dwr 个人觉得,你这里其实也就是一判断而已,实际情况也是如此,楼主应该承认吧。
你可以把你选择的数据都得到,然后传到后台,也就是你的action里面,在进行一系列的查询,最后返回给前台(也就是你的页面),你可以把那条数据不能删除都确定下来,返回过去,这样免得你不知道是什么数据(帮助客户确定数据库),
这就是你的dwr在此的作用,至于你说的权限问题,我觉得,你该怎么设计还是怎么设计,不就是多了个dwr吗?也就是ajax传输,不用刷新而已
至于你觉得权限的粒度问题,完全是项目的问题,你的项目如果觉得权限分的比较严格的话,你可以把粒度搞精确点,比如到方法? 或者url 这个都不管dwr的问题
以上都是个人意见,希望对楼主有用,这里没有实际代码,所以没法给你代码了,不过我最近也在做一个,权限的问题我是这样考虑的。。
你不要ajax的话,那样确实比较复杂,如果你用dwr 个人觉得,你这里其实也就是一判断而已,实际情况也是如此,楼主应该承认吧。
你可以把你选择的数据都得到,然后传到后台,也就是你的action里面,在进行一系列的查询,最后返回给前台(也就是你的页面),你可以把那条数据不能删除都确定下来,返回过去,这样免得你不知道是什么数据(帮助客户确定数据库),
这就是你的dwr在此的作用,至于你说的权限问题,我觉得,你该怎么设计还是怎么设计,不就是多了个dwr吗?也就是ajax传输,不用刷新而已
至于你觉得权限的粒度问题,完全是项目的问题,你的项目如果觉得权限分的比较严格的话,你可以把粒度搞精确点,比如到方法? 或者url 这个都不管dwr的问题
以上都是个人意见,希望对楼主有用,这里没有实际代码,所以没法给你代码了,不过我最近也在做一个,权限的问题我是这样考虑的。。
mniz (初级程序员) 2009-01-13
在补充点一点,至于那些操作,你用的是struts1 完全可以用一个过滤器来过滤一起,就算是dwr ,它是ajax 你可以把它的请求完全过滤一次,查看它是否有权限进行下面的操作是吧。如果没有的话,则不让他查询,中途拦截,然后再返回一个信息给它,比如“对不起,您 没有权限,请和管理员联系..”
如果是Struts2 则更好,它可以实现自定义拦截器,那个更方便,不过也差不多,道理都是一样的
如果是Struts2 则更好,它可以实现自定义拦截器,那个更方便,不过也差不多,道理都是一样的