📅  最后修改于: 2021-01-11 06:20:58             🧑  作者: Mango
modelDriven拦截器将其他模型对象作为valuestack的默认对象。
默认情况下,操作对象是valuestack的默认对象。
要使用modelDriven拦截器,您需要在操作类中实现ModelDriven接口,并覆盖其方法getModel()。
默认情况下,它位于默认堆栈中。因此,您无需明确指定它。
没有为modelDriven拦截器定义参数。
login-success.jsp
让我们看一下ModelDriven拦截器的完整示例。
<%@ taglib uri="/struts-tags" prefix="s" %>
/login-success.jsp
/login-error.jsp
package com.javatpoint;
import com.opensymphony.xwork2.ModelDriven;
public class Login implements ModelDriven{
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public User getModel(){
user=new User();
return user;
}
public String execute(){
if(user.getPassword().equals("admin")){
return "success";
}
else{
return "error";
}
}
}
package com.javatpoint;
public class User {
private String name,password;
//getters and setters
}
<%@ taglib uri="/struts-tags" prefix="s" %>
Welcome,
Sorry, username or password error!
如果未实现ModelDriven接口,则需要在index.jsp文件中使用user.name和user.password字段名称,否则将不设置给定值。