Bom isso funcionava até eu pegar o beta 2 do WebWork2:
xwork.xml
...
		<interceptors>
			<interceptor-stack name="modelDrivenStack">
				<interceptor-ref name="security"/> 
				<interceptor-ref name="defaultStack"/> 
				<interceptor-ref name="component"/>
				<interceptor-ref name="model-driven"/>
			</interceptor-stack>
		</interceptors>
...
		<action name="saveEmpresa" class="br.com.intranet.action.SaveEmpresa">
			<result name="success" type="dispatcher">
				<param name="location">/jsp/cadastros/empresas/save.jsp</param>
			</result>
			<result name="error" type="chain">
				<param name="actionName">listEmpresa</param>
			</result>
			<interceptor-ref name="modelDrivenStack"/>
		</action>
SaveEmpresa.java
package br.com.intranet.action;
import br.com.intranet.db.DAOException;
import br.com.intranet.dao.EmpresaDAO;
import br.com.intranet.model.Empresa;
import com.opensymphony.xwork.ActionSupport;
import com.opensymphony.xwork.ModelDriven;
public class SaveEmpresa extends ActionSupport implements ModelDriven {
	protected Empresa empresa = new Empresa();
	public Object getModel() {
		LOG.info("SaveEmpresa.getModel()");
		return empresa;
	}
	public String execute() throws Exception {
		LOG.info("SaveEmpresa.execute()");
		EmpresaDAO dao = new EmpresaDAO();
		try {
			if (empresa.getId() > 0) {
				dao.Update(empresa);
			} else {
				dao.Insert(empresa);
			}
			
			return "success";
		} catch (DAOException ex) {
			addActionError(ex.getMessage());
			return "error";
		}
	}
}
Mas agora o método execute e nem o getModel não é executado de jeito nenhum.
Alguma idéia?
[]'s