所謂間接實現零配置,是指只要做些初始化的配置之后,在以后的開發中基本上不用在對每個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");
}
}
posted on 2008-08-01 15:45
Hank1026 閱讀(337)
評論(0) 編輯 收藏 所屬分類:
每日積累