我在 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;
}
}
对不起,我不能放视图的代码,我没有权限这样做
什么可能导致这个问题?