WebWork

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

Aeee… mais um webworkeiro :smiley:

Bom, pelo que vc mostrou de codigo, deveria funcionar. Quais os interceptors que vc definiu como “security”? Certifique-se de que o ParametersInterceptor ta passando pelas suas Actions (usando um debugger ou ligando o interceptor de logging).

Pra ficar mais facil, posta aqui o resto do seu xwork.xml :slight_smile:

Pois é, de tanto ver o pessoal falando bem desse WebWork resolvi dar uma olhada. Por enquanto tô achando muito bom, só a documentação que é bem incompleta, principalmente do WebWork2.

Mas eu já consegui fazer funcionar, não tinha entendido direito os interceptors, mas agora tá beleza.

Valeu!

[]'s