拦截器获得不到我这个action提交到context的参数,得到的是nullAction:
public class LoginAction extends ActionSupport {
private String username;
private String password;
public String execute() throws Exception { try {
HttpServletRequest req = ServletActionContext.getRequest();
String name = req.getParameter("name");
ActionContext context = ActionContext.getContext();
Map<String, Object> session = context.getSession();
session.put("user", "user");
代码
return ...;
} catch (Exception e) {
e.printStackTrace();
return "fail";
}
}
}
拦截器:import java.util.Map;import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;public class LoginInterceptor extends AbstractInterceptor {
public final static String USER_SESSION_KEY = "username";
@Override
public String intercept(ActionInvocation invocation) throws Exception {
System.out.println("浸入拦截器了");
ActionContext ctx = invocation.getInvocationContext();
Map session = ctx.getSession();
String user = (String)session.get("user");
System.out.println(user + "="); //////这里获得参数并输出
if (user != null) {
return invocation.invoke();
}
ctx.put("tip", "还没登陆");
return Action.LOGIN;
} }输出 null=
请问这个是怎么回事啊?
public class LoginAction extends ActionSupport {
private String username;
private String password;
public String execute() throws Exception { try {
HttpServletRequest req = ServletActionContext.getRequest();
String name = req.getParameter("name");
ActionContext context = ActionContext.getContext();
Map<String, Object> session = context.getSession();
session.put("user", "user");
代码
return ...;
} catch (Exception e) {
e.printStackTrace();
return "fail";
}
}
}
拦截器:import java.util.Map;import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;public class LoginInterceptor extends AbstractInterceptor {
public final static String USER_SESSION_KEY = "username";
@Override
public String intercept(ActionInvocation invocation) throws Exception {
System.out.println("浸入拦截器了");
ActionContext ctx = invocation.getInvocationContext();
Map session = ctx.getSession();
String user = (String)session.get("user");
System.out.println(user + "="); //////这里获得参数并输出
if (user != null) {
return invocation.invoke();
}
ctx.put("tip", "还没登陆");
return Action.LOGIN;
} }输出 null=
请问这个是怎么回事啊?
解决方案 »
- eclipse里输出任一程序都报此错误提示
- 新手请教!(关于struts2一个action里多个方法)在线等
- ssh 级联查询遇到could not initialize proxy - the owning Session
- No SqlMapClient specified是什么错误?怎么解决啊???
- 使用Java Communications API访问串口程序,抛出javax.comm.NoSuchPortException
- PC端与移动端的开发有什么不同
- struts连接池
- java 下有什么方法可以让一个任务在每天的某一时刻运行
- java 怎么样读取一个字符的Unicode 值?
- 如何将TOMCAT与IIS组合起来使用?
- 求解決struts2刪除時報的一個錯!
- 寻求比较炫的统计图的网址
String user = (String)session.get("user");
System.out.println(user + "="); //////这里获得参数并输出为什么从session中取值?应该从request中取值把
session.put("user", "user");