自定义拦截器实现登录前的校验,用户名为:NIIT密码为NIITNIIT则登录成功,
否则回到登录页面。
以下为自定义拦截器中的实现函数运行时会显示**_if行有问题_**。求大佬告知以下代码有什么问题。
拦截器.java
@Override
public String intercept(ActionInvocation actionInvocation) throws Exception {
String username = (String) ActionContext.getContext().get("username");
String password = (String) ActionContext.getContext().get("password");
if(username.equals("NIIT")&&password.equals("NIITNIIT"))
return actionInvocation.invoke();
else
return "login";
}
Action.java
import com.opensymphony.xwork2.ActionSupport;
public class Demo extends ActionSupport {
String username;
String password;
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
public String getUsername() {
return username;
}
public String execute()
{
if(username.equals("NIIT"))
return SUCCESS;
else
{
System.out.println(username+password);
return ERROR;
}
}
}
Struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="Demo" extends="struts-default" >
<interceptors>
<interceptor name="CS17" class="CS17Intp" />
<interceptor-stack name="MyStack" >
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="CS17"/>
</interceptor-stack>
</interceptors>
<action name="CS17" class="Demo" method="execute" >
<result name="success">Hello.jsp</result>
<result name="error">Error.jsp</result>
<result name="login">index.jsp</result>
<interceptor-ref name="MyStack"/>
</action>
</package>
</struts>