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 ( != null && personPOJO.getAge()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.jspPersonForm.jsp
<%@ page language=“java” contentType=“text/html; charset=utf-8” pageEncoding=“UTF-8”%>
<%@ taglib prefix=“s” uri="/struts-tags"%>
Peço desculpa pelo post gigante mas preciso de ideias.
Obrigado pela ajuda pessoal.