strut2拦截器,页面传值传不到后台,请高手帮忙,下面为代码!!!
struts.xml
-----------------------
<struts>
<package name="interceptor_1" namespace="/c" extends="struts-default">
<interceptors>
<interceptor name="interceptor1" class="com.interceptor1"/>
<interceptor-stack name="default">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="interceptor1"/>
</interceptor-stack>
</interceptors>
<global-results>
<result name="message">/message.jsp</result>
</global-results>
<action name="login" class="com.interceptoraction">
<default-interceptor-ref name="default"/>
<result name="input">/index.jsp</result>
</action>
</package>
</struts>
--------------------------
interceptoraction.java
-----------------------
public class interceptoraction extends ActionSupport {
private String user;
private String pass;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
@Override
public String execute() throws Exception {
System.out.println("123");
ActionContext.getContext().put("mess","ok");
return "message";
}
}
-----------------------
interceptor1.java
----------------------
public class interceptor1 implements Interceptor {
public void destroy() {
}
public void init() {
}
public String intercept(ActionInvocation invocation) throws Exception {
ActionContext ctx=invocation.getInvocationContext();
Map session=ctx.getSession();
String user =(String)session.get("user");
String pass=(String)session.get("pass");
System.out.println(user);
System.out.println(pass);
if("czp".equals(user)&&"123".equals(pass))
{
return invocation.invoke();
}
else
{
return "input";
}
}
-----------------------------
message.jsp
-----------------------------
<body>
${mess}
</body>
-----------------------------
index.jsp
-----------------------------
<body>
<s:form action="c/login" method="post">
<s:textfield name="user" label="name"></s:textfield>
<s:password name="pass" label="pass"></s:password>
<s:submit></s:submit>
</s:form>
</body>
------解决方案--------------------没有set user怎么会get到user的值;拦截器和action在同一个包下,拦截器会起作用吗
------解决方案--------------------
public String intercept(ActionInvocation invocation) throws Exception {
String pass = (String)ServletActionContext.getRequest().getAttribute("pass");
}