弱智的页面无法访问的问题

来源:互联网 发布:重庆电信宽带网络套餐 编辑:程序博客网 时间:2024/06/11 22:49

说是弱智,是针对我的程序来说的。

如上一篇所述我的项目结构,我在基础类CrudAction中,定义了nopemission,但一开始我不是那样写的,我的写法是:

@Results({@Result(name = "nopermission", location = "/nopermission.jsp") })public abstract class CrudAction<T, TService extends ICrudService<T>> extendsCrudActionSupport<T> {public static final String NOPERMISSION = "nopermission";public String execute() throws Exception {if (moduleid == null) {return NOPERMISSION;} else {module = moduleService.getOne(moduleid);if (!SecurityUtils.getSubject().isPermitted(module.getCmdkey())) {return NOPERMISSION;}}return list();}……}

对,我没有定位到根目录下的nopermission.action,而是定位到了/nopermission.jsp。

而亦如代码所示,我的所有继承于该类的action默认执行的方法就是上面这个excute,而这个函数中,检测了用户是否拥有执行的权限。

然后我的问题就出现了。我新建了个模块,但却忘记给用户设置权限了,于是,梦魇一般的页面无法找到啊。

它找不到的是/permission.jsp,而不是我想要的页面啊,可是我不知道啊,我就知道页面无法找到啊。

后来才想起来去跟踪,而一开始我不去跟踪是因为我感觉找不到页面说明执行不到action啊,好在我想起来了什么,当我去设置断点的时候,我便发现了问题。

是的,我没有跟踪执行就解决了问题。

像我的那种目录结构,所有jsp放在/webapp/WEB-INF/content中,我真的不知道如何准确定位到一个jsp啊,所以还是用action才行啊。

最后,我改成下面的了:

@Results({@Result(name = "nopermission", location = "/nopermission.action", type = "redirect") })public abstract class CrudAction<T, TService extends ICrudService<T>> extendsCrudActionSupport<T> {public static final String NOPERMISSION = "nopermission";public String execute() throws Exception {if (moduleid == null) {return NOPERMISSION;} else {module = moduleService.getOne(moduleid);if (!SecurityUtils.getSubject().isPermitted(module.getCmdkey())) {return NOPERMISSION;}}return list();}……}
但是我没测试,因为我同时把用户的权限加上了。


	
				
		
原创粉丝点击