Estou querendo passar para uma action valores do form mas não estou conseguindo, abaixo segue o código que estou utilizando:
Este é o meu Bean:
public class User{
private String name;
private String login;
publlic String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
public String getLogin(){
return this.login;
}
}
Este é o meu ActionForm:
public class ActionUser extends ActionForm{
private User user;
public String execute() throws Exception{
System.out.println(this.getUser.getName());
return SUCCESS;
}
public User getUser(){
return this.user;
}
public void setUser(User user){
this.user = user;
}
}
Abaixo segue o meu form:
<s:form>
<s:textField key="user.name" label="Name" />
<s:textField key="user.login" label="login" />
</s:form>
O que está errado?
Quando submeto o form eu recebo este erro:
javax.servlet.ServletException: java.lang.NullPointer
Classe ActionUser deve estender ActionSupport.
Troca a linhaSystem.out.println(this.getUser.getName());
por if(user != null){
System.out.println(user.getName());
}
A tag tem que ser minúscula <s:textField…
Descupa ai, a tag está em minúsculo, saiu errado poqeu digitei em vez de copiar…heheheh
E coloquei para ActionSupport e coloquei a parte de imprimir o nome como vc falou e nada, ainda continuo recebendo o mesmo erro.
Assim deveria funcionar
[code]public class ActionUser {
private User user;
public String execute() throws Exception{
System.out.println(getUser.getName());
return SUCCESS;
}
public User getUser(){
return this.user;
}
public void setUser(User user){
this.user = user;
}
} [/code]
E assim:
<s:form action="… ">
<s:textfield name=“user.name” label=“Name” />
<s:textfield name=“user.login” label=“login” />
</s:form>
Eu tinha esquecido de falar que na minha action eu estava usando a interface Preparable.
E fazendo uns testes aqui vi que quando eu a utilizo o struts parece que "zera"o objeto é como se fosse instanciado novamente, então, resolvi tirar a iterface e separar algumas coisas…
Vocês sabem algo mais sobre isso? Por que isso acontece?