Consegui fazer tudo o que eu queria no WebWork menos o que eu achei que seria o mais fácil: processar um formulário. Olha o que eu tô fazendo:
xwork.xml
...
<action name="formEmpresa" class="br.com.intranet.empresas.FormAction">
<result name="success" type="dispatcher">
<param name="location">/jsp/cadastros/empresas/save.jsp</param>
</result>
<interceptor-ref name="security"/>
</action>
<action name="saveEmpresa" class="br.com.intranet.empresas.FormAction" method="save">
<result name="success" type="dispatcher">
<param name="location">/jsp/cadastros/empresas/save.jsp</param>
</result>
<interceptor-ref name="security"/>
</action>
...
FormAction.java
package br.com.intranet.empresas;
import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.ActionSupport;
import java.util.Map;
public class FormAction extends ActionSupport {
private Empresa empresa = new Empresa();
public Empresa getEmpresa() {
return empresa;
}
public void setEmpresa(Empresa empresa) {
this.empresa = empresa;
}
public void save() throws Exception {
EmpresaDAO dao = new EmpresaDAO();
System.out.println(empresa.getRazaoSocial()); // Só de teste
dao.Insert(empresa);
}
}
save.jsp
<%@ page contentType="text/html; charset=iso-8859-1" language="java" %>
<%@ taglib prefix="ww" uri="webwork" %>
<ww:form name="saveEmpresa" action="saveEmpresa.action" method="POST">
<table align="center" class="tabela">
<tr>
<td><ww:textfield label="Razão Social" name="'empresa.razaoSocial'" value="empresa.razaoSocial"/></td>
</tr>
<tr>
<td><ww:textfield label="CNPJ" name="'empresa.cnpj'" value="empresa.cnpj"/></td>
</tr>
<tr>
<td><ww:textfield label="Inscrição Estadual" name="'empresa.incricaoEstadual'" value="empresa.incricaoEstadual"/></td>
</tr>
<tr>
<td><ww:textfield label="Inscrição Municipal" name="'empresa.incricaoMunicipal'" value="empresa.incricaoMunicipal"/></td>
</tr>
</table>
<input type="submit" value="Save Form"/>
</ww:form>
No FormAction, o objeto empresa sempre está vazio. Nunca é preenchido com o valor do form.
Tô usando TomCat 4.1.24 e WebWork 2 Beta
Se alguém souber o que estou fazendo de errado, me avise.
Qualquer ajuda é benvinda!
[]'s
Rodrigo