如题,最近突然觉得Action中的方法重用性不好,除非增加请求参数作为判断依据。这种方式弄得Action这一层感觉有点乱糟糟的。故,想出另外一种实现方法。就是一个操作对应的方法(Action中的)负责该操作的所有步骤(例如修改权限,我先查询当前权限,再查询权限列表),这些步骤均通过一个请求参数作为区分(例如:dispatcher="current")。这种方法自己从没有用过,所有想上来看看各位高手有什么见解。个人感觉这种方式虽然存在了重复编码的情况(把方法的重用性划分到了Service层),但是对于Action和请求来说,这样既简化了请求转发的次数,同时也降低了请求逻辑的复杂程度。不知道这种方式是否可行?希望给点提示,怕就怕这样的定义方法不能适应变化的业务问题(自己想出的结果是没问题,相反,如果采用这种方式,在业务发生更改时还更容易修改。)。
权限管理,可以用ajax调用action处理啊,
选中一个权限就触发一个事件(例如 checked)调用ajax访问action,action中接收参数,调用service中对应方法就ok
private String dispatcher = null;
//dispatcher的getter、stter方法....
public String add(){
String forward = null;
//查询权限列表(将用作父权限)的代码...
forward = "...";
return forward;
}
public String del(){
String forward = null;
//删除当前权限的代码....
forward = "...";
return forward;
}
public String upd(){
String forward = null;
if(forward.equals("crrent")){
//查询被修改的权限的信息的代码...
forward = "...";
}
return forward;
}
public String qry(){
String forward = null;
if(dispatcher.equals("all")){
//查询列表的代码
forward ="...";
}
return forward;
}
}权限模块中的添、删、改、查操作就直接对应这几个方法。
配置文件中可以设置调用的方法
不过建义你继承SuperAction,里面有很多好用的方法