アクションを入力すると、次の問題が発生します。
Struts 問題レポート
Struts が未処理の例外を検出しました:
メッセージ:
java.lang.reflect.InvocationTargetException
org.apache.struts2.json.JSONException: java.lang.reflect.InvocationTargetException
org.apache.struts2.json.JSONException:
org.apache.struts2.json.JSONException: java.lang.reflect.InvocationTargetException
ファイル:
model/Empresa.java 行番号: 34
//アクション
private static final long serialVersionUID = 1L;
private SincronizaService service = new SincronizaServiceImp();
//Your result List
private List<Sincroniza> gridModel;
//get how many rows we want to have into the grid - rowNum attribute in the grid
private Integer rows = 0;
//Get the requested page. By default grid sets this to 1.
private Integer page = 0;
// sorting order - asc or desc
private String sord;
// get index row - i.e. user click to sort.
private String sidx;
// Search Field
private String searchField;
// The Search String
private String searchString;
// he Search Operation ['eq','ne','lt','le','gt','ge','bw','bn','in','ni','ew','en','cn','nc']
private String searchOper;
// Your Total Pages
private Integer total = 0;
// All Record
private Integer records = 0;
public String execute() throws Exception
{
int to = (rows * page);
int from = to - rows;
//Count Rows (select count(*) from custumer)
records = 5;//CustumerDAO.count();
//Your logic to search and select the required data.
gridModel = service.lista();//CustumerDAO.find(from, to);
//calculate the total pages for the query
total =(int) Math.ceil((double)records / (double)rows);
return SUCCESS;
}
public String getJSON() throws Exception
{
return execute();
}
public List<Sincroniza> getGridModel() {
return gridModel;
}
public void setGridModel(List<Sincroniza> gridModel) {
this.gridModel = gridModel;
}
public Integer getRows() {
return rows;
}
public void setRows(Integer rows) {
this.rows = rows;
}
public Integer getPage() {
return page;
}
public void setPage(Integer page) {
this.page = page;
}
public String getSord() {
return sord;
}
public void setSord(String sord) {
this.sord = sord;
}
public String getSidx() {
return sidx;
}
public void setSidx(String sidx) {
this.sidx = sidx;
}
public String getSearchField() {
return searchField;
}
public void setSearchField(String searchField) {
this.searchField = searchField;
}
public String getSearchString() {
return searchString;
}
public void setSearchString(String searchString) {
this.searchString = searchString;
}
public String getSearchOper() {
return searchOper;
}
public void setSearchOper(String searchOper) {
this.searchOper = searchOper;
}
public Integer getTotal() {
return total;
}
public void setTotal(Integer total) {
this.total = total;
}
public Integer getRecords() {
return records;
}
public void setRecords(Integer records) {
this.records = records;
}
//モデル
private static final long serialVersionUID = 1L;
private Integer idempresa;
private String descripcion;
private String abreviacion;
private String alterno_id;
private Date fecha_alta;
private Date fecha_cambios;
private Date fecha_baja;
public Empresa(int idempresa, String descripcion, String abreviacion,
String alterno_id, Date fecha_alta, Date fecha_cambios,
Date fecha_baja) {
super();
this.idempresa = idempresa;
this.descripcion = descripcion;
this.abreviacion = abreviacion;
this.alterno_id = alterno_id;
this.fecha_alta = fecha_alta;
this.fecha_cambios = fecha_cambios;
this.fecha_baja = fecha_baja;
}
public Empresa(){}
public int getIdempresa() {
return idempresa;//THIS IS LINE 34
}
public void setIdempresa(int idempresa) {
this.idempresa = idempresa;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public String getAbreviacion() {
return abreviacion;
}
public void setAbreviacion(String abreviacion) {
this.abreviacion = abreviacion;
}
public String getAlterno_id() {
return alterno_id;
}
public void setAlterno_id(String alterno_id) {
this.alterno_id = alterno_id;
}
public Date getFecha_alta() {
return fecha_alta;
}
public void setFecha_alta(Date fecha_alta) {
this.fecha_alta = fecha_alta;
}
public Date getFecha_cambios() {
return fecha_cambios;
}
public void setFecha_cambios(Date fecha_cambios) {
this.fecha_cambios = fecha_cambios;
}
public Date getFecha_baja() {
return fecha_baja;
}
public void setFecha_baja(Date fecha_baja) {
this.fecha_baja = fecha_baja;
}
//STRUTS-ACTION は、STRUTS.XML を拡張します
<action name="irSincronizar" class="action.JsonTable">
<result name="success" type="json">/prueba.jsp</result>
</action>
//STRUTS.XML
<constant name="struts.devMode" value="true"/>
<constant name="struts.configuration.xml.reload" value="true"/>
<include file="struts-usuario.xml"/>
<include file="struts-navegacion.xml"/>
<package name="struts" extends="struts-default,tiles-default,json-default">
</package>