Struts 2 - Setar dados do formulário direto no objeto x Enviar separado e setar na Action

Estou trabalhando em um formulário que tem cinco campos e todos fazem parte do objeto Usuario.

Minha dúvida é:

É melhor setar no próprio formulário o atributo do objeto:


<s:textfield name="usuario.nome" value="nome">

ou setar o nome em uma string e depois, já na Action, setar esse valor no objeto Usuario:

<s:textfiel name="nome" value="nome">

Na Action fazer algo do tipo:

private String nome;

public String getNome ...........

public void setNome .............

public String salvar() {

usuario.setNome(nome);

}

Acho que para validar os campos com o struts validation é melhor enviar a String e depois setar no objeto.

Qual a maneira correta?

Eu faço da primeira maneira

E para fazer a validação, vc pode fazer do mesmo jeito na Action.
Olha o meu exemplo… Peguei da apostila da Caelum:

Validations(requiredStrings={
				@RequiredStringValidator(fieldName="tarefa.descricao", message="Valor Obrigatório")}
			)
public class AdicionaTarefasAction extends ActionSupport {
	
	private static final long serialVersionUID = 1L;
	private Tarefa tarefa;
	
	@Action(value="adicionaTarefa", results={
			@Result(name="ok", location="/tarefa-adicionada.jsp"),
			@Result(name="input", location="/formulario-tarefas.jsp")}
	)	
	public String execute(){
		System.out.println("Entrou no adicionaTarefa");
		return "ok";
	}

	public Tarefa getTarefa() {
		return tarefa;
	}

	public void setTarefa(Tarefa tarefa) {
		this.tarefa = tarefa;
	}
	
	
}

A validação eu faço passando o objeto.atributo:

@RequiredStringValidator(fieldName="tarefa.descricao", message="Valor Obrigatório")

Sacou?