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

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

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

@Results({@Result(name = "nopermission", location = "/nopermission.jsp") })
public abstract class CrudAction<T, TService extends ICrudService<T>> extends
		CrudActionSupport<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>> extends
		CrudActionSupport<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();
	}
……
}
但是我没测试,因为我同时把用户的权限加上了。



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值