struts2间接实现零配置

所谓间接实现零配置,是指只要做些初始化的配置之后,在以后的开发中基本上不用在对每个Action做配置 struts.xml这样配置
<action name="*/*" method="{2}" class="workbench.web.actions.{1}Action">
   <result name="custom">/view/{1}/${target}.jsp</result>
</action>
struts.properties的配置:
XML codestruts.objectFactory = spring
struts.objectFactory.spring.autoWire = name
struts.devMode = true
struts.enable.DynamicMethodInvocation = false
struts.action.extension = 
struts.enable.SlashesInActionNames = true
然后写一个BaseAction:
public abstract class BaseAction {   
    protected final String CUSTOM = "custom";   
    private String target;   
    protected final Log logger = LogFactory.getLog(getClass());   
    public String getTarget() {   
        return target;   
    }   
    public void setTarget(String target) {   
        this.target = target;   
    }   
       
    protected String render(String _target){   
        setTarget(_target);   
        return CUSTOM;   
    }   
}  
这样其余的Action都可以直接继承BaseAction,不用再做任何配置 通过return render(target)转发到指定的jsp页面,从而间接实现零配置
public class UserAction extends BaseAction{   
    private User user;   
    private UserService userService;   
    public void setUserService(UserService userService) {   
        this.userService = userService;   
    }   
       
    public User getUser() {   
        return user;   
    }   
    public void setUser(User user) {   
        this.user = user;   
    }   
    public String test(){   
        user = userService.get(1l);   
        return render("test");   
    }   
}  
URL:http://localhost:8080/workbench/User/test

你可能感兴趣的:(jsp,struts,String,user,Class,action)