Interceptor传值问题

@JFinal

我有一个LoginInterceptor, 在此Interceptor获取到了上个访问页面的url,我想问的是如何把lastRequestURL传递给login.jsp(或html)页面,以便密码输入正确后跳转到这个网页里去

 @Override

	public void intercept(Invocation inv) {
		 Controller  controller=inv.getController();
		 String lastRequestURL = controller.getRequest().getRequestURL().toString();
		 
		 UserVO userVO=controller.getSessionAttr("user");
		if (null==userVO){
		   controller.redirect("/login.jsp");
		}else {
			inv.invoke();
	    }
	}


评论区

JFinal

2018-10-01 12:51

用问号挂参传过去:
controller.redirect("/login?lastRequestURL=" + value);

传到 jsp 文件也可以,但不建议这么用:
controller.redirect("/login.jsp?lastRequsetURL=" + value);

不要让请求或重定向直接指向页面,而是要指向一个 action

fox

2018-10-01 12:59

@JFinal
我传到jsp页面是用的挂参,但在login.jsp页面提交时(post方式),我的Action login 还是获取不到这个lastRequestURL呀

@ActionKey("/login")
public void login(){
System.out.println("login controller");
String name=getPara("user","");
String pwd=getPara("pwd","");
String lastRequestURL = getPara("lastRequestURL", "/");

JFinal

2018-10-01 13:48

@fox 页面用 input 隐藏域接收数据再接着传

JFinal

2018-10-01 13:48

web 基础

fox

2018-10-01 16:06

@JFinal ok,搞定了,java还真没系统学过,半路出家。

JFinal

2018-10-01 16:17

@fox java 基础、web 基础这些要先学会,少走很多弯路,再用上 jfinal,节省无数时间

fox

2018-10-01 22:47

fansunion

2018-10-10 22:23

热门反馈

扫码入社