0

我在 Struts2 中有一个包含电子表格的表单,该电子表格以 3 行和 5 列开始,当电子表格已满时,使用 javascript 添加另一行。

Java 代码在 glassfish 4.0 和 java 7u25 上运行

当我在 netbeans 上测试它时运行良好,但是当我在生产中实现并发送表单时,在动作类中我完成了前 3 行,但从第 4 行开始得到一个空对象

如果我使数组大小告诉我行数,但 3 之后的行将始终以 null 的形式到达

此外,如果我有两个应用程序,在 glassfish 中共享此结构,我重新启动服务器,第二个应用程序开始失败并出现此错误。

pojo 和 action 类的代码是

OrdenCargaPojo

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

/**
 *
 * @author Administrador
 */
public class OrdenCargaPojo {
    protected int id = 0;
    protected List<ArticulosPojo> articulos = new ArrayList<ArticulosPojo>();
    protected double importe = 0;
    protected boolean soloLectura = false;

    // Cargo la configuracion de la grilla
    public OrdenCargaPojo() {
        // inicio la grilla
        articulos.add(new ArticulosPojo());
        articulos.add(new ArticulosPojo());
        articulos.add(new ArticulosPojo());
    }

    /**
     * @return the articulos
     */
    public List<ArticulosPojo> getArticulos() {
        return articulos;
    }

    /**
     * @param articulos the articulos to set
     */
    public void setArticulos(List<ArticulosPojo> articulos) {
        this.articulos = articulos;
    }

    /**
     * @return the id
     */
    public int getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * @return the soloLectura
     */
    public boolean isSoloLectura() {
        return soloLectura;
    }

    /**
     * @param soloLectura the soloLectura to set
     */
    public void setSoloLectura(boolean soloLectura) {
        this.soloLectura = soloLectura;
    }

    /**
     * @return the totalGrilla
     */
    public double getImporte() {
        return importe;
    }

    /**
     * @param totalGrilla the totalGrilla to set
     */
    public void setImporte(double importe) {
        this.importe = importe;
    }      
}

文章Pojo

import java.io.Serializable;
import java.util.Date;

/**
 *
 * @author Administrador
 */
public class ArticulosPojo implements Serializable {
    private static final long serialVersionUID = 1L;
    private int id;
    private String etiqueta = "";
    private String tropa = "";
    private String garron = "";
    private Date fechaFaena;
    private double peso = 0;

    /**
     * @return the id
     */
    public int getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * @return the etiqueta
     */
    public String getEtiqueta() {
        return etiqueta;
    }

    /**
     * @param etiqueta the etiqueta to set
     */
    public void setEtiqueta(String etiqueta) {
        this.etiqueta = etiqueta;
    }

    /**
     * @return the tropa
     */
    public String getTropa() {
        return tropa;
    }

    /**
     * @param tropa the tropa to set
     */
    public void setTropa(String tropa) {
        this.tropa = tropa;
    }

    /**
     * @return the garron
     */
    public String getGarron() {
        return garron;
    }

    /**
     * @param garron the garron to set
     */
    public void setGarron(String garron) {
        this.garron = garron;
    }

    /**
     * @return the fechaFaena
     */
    public Date getFechaFaena() {
        return fechaFaena;
    }

    /**
     * @param fechaFaena the fechaFaena to set
     */
    public void setFechaFaena(Date fechaFaena) {
        this.fechaFaena = fechaFaena;
    }

    /**
     * @return the peso
     */
    public double getPeso() {
        return peso;
    }

    /**
     * @param peso the peso to set
     */
    public void setPeso(double peso) {
        this.peso = peso;
    }
}

GuardarOrdenCarga动作

/**
 * llama a los dao para guardar los datos
 */
public class GuardarOrdenCargaAction extends ActionSupport{
    private OrdenCargaPojo ordenCarga = new OrdenCargaPojo();

    /**
     * carga y llama a los dao para guardar los datos
     * @return
     * @throws Exception
     */
    @Override
    public String execute() throws Exception {

        for (ArticulosPojo articulos : ordenCarga.getArticulos()) {
            if(articulos.getId() > 0){ // error - nullpointer luego de la 3ra fila
                System.out.println(articulos.getId());
            }
        }

        return SUCCESS;
    }


    /**
     * @return the OrdenCarga
     */
    public OrdenCargaPojo getOrdenCarga() {
        return ordenCarga;
    }

    /**
     * @param OrdenCarga the OrdenCarga to set
     */
    public void setOrdenCarga(OrdenCargaPojo ordenCarga) {
        this.ordenCarga = ordenCarga;
    }
}

对不起,我不能放视图的代码,我没有权限这样做

什么可能导致这个问题?

4

0 回答 0