Struts2: problema com as classes POJO e Action

2 respostas
L

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.

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:
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;

}

}

PersonAction:
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;

}

}

struts-form.xml:

<?xml version="1.0" encoding="UTF-8"?> /pages/erro.jsp /pages/sucesso.jsp

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

Dados Pessoais

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

2 Respostas

analyser

Cara não repita os tópicos senão você tira a chance de reposta de outras pessoas, coloque uma vez só, se alguem souber vai te ajudar.

Falow

L

Ninguem sabe como resolver este problema?

Preciso mesmo de pôr isto a funcionar
Obrigado.

Criado 15 de junho de 2007
Ultima resposta 16 de jun. de 2007
Respostas 2
Participantes 2