1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Null pointer exception Struts 2 Action input

Olá pessoal estou estudando struts 2, estou fazendo simples aplicações para ir aprendendo. Estou com problemas ao criar uma action com input de dados do html para a o metodo action. Meu projeto usa anotações ao invés de strust.xml todas as actions funcionam menos a que receberia dados do html.

classe action

package br.com.struts2exemplo.action;

import java.util.ArrayList;
import java.util.List;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;

@Namespace(value = "/artigo")
public class ArtigoAction {


    private List<Artigo> artigos;

    private Artigo artigo;

    public ArtigoAction() {
    }

    @Action(value = "lista", results = @Result(name = "ok", location = "/lista.jsp"))
    public String lista() {

        artigos = new ArrayList<Artigo>();

        Artigo artigo1 = new Artigo(1, "Titulo 1", "Texto 1");
        Artigo artigo2 = new Artigo(2, "Titulo 2", "Texto 2");

        artigos.add(artigo1);
        artigos.add(artigo2);

        return "ok";
    }

    @Action(value = "novo", results = @Result(name = "ok", location =
 "/adiciona.jsp"))
    public String novo() {
        return "ok";
    }

    @Action(value = "adiciona", results = @Result(name = "ok", type = 
"redirectAction", params = { "actionName", "lista" }))
    public String adiciona() {
        artigos.add(this.artigo);
        return "ok";
    }

    public List<Artigo> getArtigos() {
        return artigos;
    }

    public Artigo getArtigo() {
        return artigo;
    }

    public void setArtigo(Artigo artigo) {
        this.artigo = artigo;
    }
}

adiciona.jsp

<html>
    <head>
        <title>Exemplo Struts 2 Simples</title>
    </head>
    <body>
        <h3>Novo Artigo</h3>
        <form action="adiciona">
            <table>
                <tr>
                    <td>Titulo: <input type="text"
 name="artigo.titulo"></td>
                    <td>Texto: <input type="text" 
name="artigo.texto"></td>
                    <td><input type="submit"></td>
                </tr>
            </table>
        </form>
    </body>
</html>
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags struts ou faça a sua própria pergunta.