package com.norteksoft.product.web.struts2;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.convention.PackageBasedActionConfigBuilder;
import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.config.Configuration;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Inject;
public class ActionConfigBuilder extends PackageBasedActionConfigBuilder{
private static final Log LOG = LogFactory.getLog(ActionConfigBuilder.class);
@Inject
public ActionConfigBuilder(Configuration configuration, Container container, ObjectFactory objectFactory,
@Inject("struts.convention.redirect.to.slash") String redirectToSlash,
@Inject("struts.convention.default.parent.package") String defaultParentPackage) {
super(configuration, container, objectFactory, redirectToSlash,
defaultParentPackage);
}
@Override
protected List<String> determineActionNamespace(Class<?> actionClass) {
String className = actionClass.getName();
String[] arr = className.split("[\\\\.]");
List<String> namespaces = super.determineActionNamespace(actionClass);
for(int i = 0; i < namespaces.size(); i++){
namespaces.set(i, "/"+arr[2]+namespaces.get(i));
}
LOG.debug(" *** 扫描到的Action: ["+className+"], nameSpace:"+namespaces);
return namespaces;
}
}