我正在設計一個基本的應用程序,用戶在其中提供他的用戶名和密碼,如果登錄成功,他將被重定向到主頁。現在爲了驗證我想使用攔截器,如果用戶名和密碼不是空的。但我無法瞭解如何在攔截器中訪問請求參數的值。 JSP代碼攔截器用於登錄Struts 2.0
<s:form action="Login.action" method="post">
<s:textfield label="Username" name="bean.userId"/>
<s:submit value="Login" />
</s:form>
型號
@Entity
@Table(name="login")
public class Login implements Serializable
{
public Login()
{
}
public Login(String userId1, String userPassword1) {
userId1 = userId;
userPassword1 = userPassword;
}
private String userId;
private String userPassword;
@Id
@Column(name="USERID", nullable=false)
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
@Column(name="USERPASSWORD", nullable=false)
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
}
查看
public class LoginAction extends ActionSupport
{
private Login bean;
public String login()
{
LoginManager manager=new LoginManager();
try
{
manager.add(getBean());
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
return "success";
}
public Login getBean() {
return bean;
}
public void setBean(Login bean) {
this.bean = bean;
}
攔截
public class LoggingInterceptor implements Interceptor
{
public void destroy()
{
System.out.println("Destorying......");
}
public void init() {
System.out.println("Initializing......");
}
public String intercept(ActionInvocation actionInvocation) throws Exception
{
ActionConfig config = actionInvocation.getProxy().getConfig();
Map parameters = config.getParams();
String menuId = (String)parameters.get("userId");
System.out.println("Got it:"+menuId);
return actionInvocation.invoke();
}
}
你寫了一個攔截器嗎?顯示代碼。 –
@羅曼:我編輯了這個問題,請現在檢查它 – Pulkit