Struts2 : POJO e Action

0 respostas
L

[b]Olá pessoal.

Criei uma pequena aplicação (seguindo um tutorial 5*) usando strus2 na qual o utilizador apenas insere o primeiro e ultimo nome e a idade.

Em caso de sucesso a aplicação mostra ao utilizador a pagina success.jsp com a idade do utilizador em dias e o nome introduzido.

Agora estava a tentar guardar os dados inseridos numa base de dados usando o hibernate.
Para começar achei bem separar o POJO (gets e sets) do execute() da classe que defini. Criei entao a classe personPOJO e personAction.
O problema é que agora nada funciona porque não consigo obter os dados introduzidos pelo utilizador na form. [/b]

ERROR [ParametersInterceptor] ParametersInterceptor - [setParameters]: Unexpected Exception catched: Error setting expression ‘age’ with value '[Ljava.lang.String;@73327332
ERROR [ParametersInterceptor] ParametersInterceptor - [setParameters]: Unexpected Exception catched: Error setting expression ‘firstName’ with value '[Ljava.lang.String;@72747274
ERROR [ParametersInterceptor] ParametersInterceptor - [setParameters]: Unexpected Exception catched: Error setting expression ‘lastName’ with value ‘[Ljava.lang.String;@72d472d4

Aqui estao as 2 classes e o ficheiro struts-form.xml:

PersonPOJO.java:
[i]package form.action;

public class PersonPOJO {

String firstName;
String lastName;
String age;

// GETTERS and SETTERS
public String getAge() {
	return age;
}

public void setAge(String age) {
	this.age = age;
}

public String getFirstName() {
	return firstName;
}

public void setFirstName(String firstName) {
	this.firstName = firstName;
}

public String getLastName() {
	return lastName;
}

public void setLastName(String lastName) {
	this.lastName = lastName;
}

}[/i]

PersonAction:
[i]package form.action;

import com.opensymphony.xwork2.ActionSupport;

public class PersonAction extends ActionSupport {

PersonPOJO personPOJO = new PersonPOJO();
String message;
int ageDays;

public String execute() {
	
	if (personPOJO.getAge() != null && personPOJO.getFirstName() != null
			&& personPOJO.getLastName() != null) {

		this.setAgeDays(Integer.parseInt(personPOJO.getAge()) * 365);
		this.setMessage("Sucesso! Esta mensagem foi gerada na Action");
		return SUCCESS;
	} else {
		this.setMessage("Erro! Esta mensagem foi gerada na Action");
		return ERROR;
	}
}

public int getAgeDays() {
	return ageDays;
}

public void setAgeDays(int ageDays) {
	this.ageDays = ageDays;
}

public String getMessage() {
	return message;
}

public void setMessage(String message) {
	this.message = message;
}

}[/i]

struts-form.xml:
[i]<?xml version="1.0" encoding="UTF-8"?>

/pages/erro.jsp /pages/sucesso.jsp [/i]

PersonForm.jsp
[i]<%@ page language=“java” contentType=“text/html; charset=utf-8” pageEncoding=“UTF-8”%>
<%@ taglib prefix=“s” uri="/struts-tags"%>

Dados Pessoais
[/i]

Peço desculpa pelo post gigante mas preciso de ideias.
Obrigado pela ajuda pessoal.

Criado 15 de junho de 2007
Respostas 0
Participantes 1