【发布时间】:2017-12-12 15:53:12
【问题描述】:
我正在寻找作为 JSON 页面的列表。我目前正在使用 Hibernate+Struts,我已将 JSON Struts2 插件添加到我的构建路径中。
我只是简单地配置了我的struts.xml,但我总是获得相同的ERRORS,我怎样才能通过 JSON 登录?
这些是我的课程:
/////// Anagrafica.hbm.xml ///////
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="it.unirc.pjam.Anagrafica.Model.Anagrafica" table="ANAGRAFICA">
<id name="ID_Anagrafica" type="java.lang.Integer">
<column name="ID_Anagrafica" />
<generator class="identity" />
</id>
<property name="Nome" type="string">
<column name="Nome" not-null="true" />
</property>
<property name="Cognome" type="string">
<column name="Cognome" not-null="true" />
</property>
<property name="Provincia" type="string">
<column name="Provincia" not-null="true" />
</property>
<property name="Codice_fiscale" type="string">
<column name="Codice_fiscale" not-null="true" />
</property>
<many-to-one name="ruolo" class="it.unirc.pjam.Ruolo.Model.Ruolo" lazy="false">
<column name="ID_Tipo_Anagrafica" not-null="true" />
</many-to-one>
<one-to-one name="utenza" class="it.unirc.pjam.Utenza.Model.Utenza"
cascade="save-update" property-ref="anagrafica" foreign-key="anagrafica">
</one-to-one>
<set name="scontrini" inverse="true" cascade="save-update" lazy="false" >
<key column="ID_Anagrafica" not-null="false" unique="true" />
<one-to-many class="it.unirc.pjam.Scontrino.Model.Scontrino" />
</set>
<one-to-one name="tessera" class="it.unirc.pjam.Tessera.Model.Tessera"
cascade="save-update" property-ref="anagrafica" foreign-key="anagrafica">
</one-to-one>
</class>
</hibernate-mapping>
/////// method of AnagraficaStruts.java ///////
public String AnagraficheJSON(){
Ruoli = ruoloDAO.getRuoli();
anagrafiche = dao.getAnagrafiche();
return "success";
}
/////// action in struts.xml ///////
<!-- JSON -->
<action name="listAnagrafiche1" method="listAnagrafiche"
class="it.unirc.pjam.Action.AnagraficaStruts">
<result type="json">
<param name="ignoreHierarchy">false</param>
</result>
</action>
<!-- FINE JSON -->
编辑:我成功获得了 JSON,但我有不需要的字段,如 Ruolo、Scontrino、Catalogo 等,并且我在 JSON 文件的开头有一个 null 对象。我该如何解决?
{
"ID_Anagrafica": 0,
"anagrafica": {
"ID_Anagrafica": 0,
"ID_Tipo_Anagrafica": 0,
"codice_fiscale": null,
"cognome": null,
"nome": null,
"provincia": null,
"ruolo": null,
"scontrini": [
],
"tessera": null,
"utenza": null
},
"anagrafiche": [
{
"ID_Anagrafica": 4,
"ID_Tipo_Anagrafica": 0,
"codice_fiscale": "123123",
"cognome": "prova",
"nome": "manlio",
"provincia": "r",
"ruolo": {
"anagrafiche": [
null
],
"descrizione": "Cassiere",
"id": 2
},
"scontrini": [
{
"anagrafica": null,
"data": null,
"id": 7,
"importoTotale": 1300.0,
"iva": 22.0,
"prodotti": [
{
"catalogo": [
{
"descrizione": "mac",
"id": 5,
"prodotti": [
null
]
}
],
"descrizione": "macbook air",
"id": 7,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 800.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "mac"
},
{
"catalogo": [
{
"descrizione": "notebook",
"id": 6,
"prodotti": [
null
]
}
],
"descrizione": "asus",
"id": 6,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 500.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "note"
}
],
"totalePezzi": 2
},
{
"anagrafica": null,
"data": null,
"id": 3,
"importoTotale": 6300.0,
"iva": 22.0,
"prodotti": [
{
"catalogo": [
{
"descrizione": "mac",
"id": 5,
"prodotti": [
null
]
}
],
"descrizione": "macbook air",
"id": 7,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 800.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "mac"
},
{
"catalogo": [
{
"descrizione": "notebook",
"id": 6,
"prodotti": [
null
]
}
],
"descrizione": "asus",
"id": 6,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 500.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "note"
},
{
"catalogo": [
],
"descrizione": "macbook pro",
"id": 8,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 1000.0,
"prezzoAcquistato": 500.0,
"prezzoScontato": 200.0,
"scontrini": [
null
],
"tipo": "mac"
}
],
"totalePezzi": 7
},
{
"anagrafica": null,
"data": null,
"id": 4,
"importoTotale": 45800.0,
"iva": 22.0,
"prodotti": [
{
"catalogo": [
{
"descrizione": "mac",
"id": 5,
"prodotti": [
null
]
}
],
"descrizione": "macbook air",
"id": 7,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 800.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "mac"
},
{
"catalogo": [
{
"descrizione": "notebook",
"id": 6,
"prodotti": [
null
]
}
],
"descrizione": "asus",
"id": 6,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 500.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "note"
}
],
"totalePezzi": 91
},
{
"anagrafica": null,
"data": null,
"id": 1,
"importoTotale": 4900.0,
"iva": 22.0,
"prodotti": [
{
"catalogo": [
{
"descrizione": "mac",
"id": 5,
"prodotti": [
null
]
}
],
"descrizione": "macbook air",
"id": 7,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 800.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "mac"
},
{
"catalogo": [
{
"descrizione": "notebook",
"id": 6,
"prodotti": [
null
]
}
],
"descrizione": "asus",
"id": 6,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 500.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "note"
}
],
"totalePezzi": 8
},
{
"anagrafica": null,
"data": null,
"id": 2,
"importoTotale": 1300.0,
"iva": 22.0,
"prodotti": [
{
"catalogo": [
{
"descrizione": "mac",
"id": 5,
"prodotti": [
null
]
}
],
"descrizione": "macbook air",
"id": 7,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 800.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "mac"
},
{
"catalogo": [
{
"descrizione": "notebook",
"id": 6,
"prodotti": [
null
]
}
],
"descrizione": "asus",
"id": 6,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 500.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "note"
}
],
"totalePezzi": 2
}
],
"tessera": {
"anagrafica": null,
"id": 4,
"n_tessera": 12,
"punti": 5.0
},
"utenza": {
"anagrafica": null,
"password": "admin",
"stato_Utenza": "attiva",
"username": "admin"
}
},
{
"ID_Anagrafica": 5,
"ID_Tipo_Anagrafica": 0,
"codice_fiscale": "boh",
"cognome": "fiore",
"nome": "fiore",
"provincia": "rm",
"ruolo": {
"anagrafiche": [
null
],
"descrizione": "Proprietario",
"id": 1
},
"scontrini": [
],
"tessera": {
"anagrafica": null,
"id": 5,
"n_tessera": 200,
"punti": 0.0
},
"utenza": {
"anagrafica": null,
"password": "fiore",
"stato_Utenza": "disattiva",
"username": "fiore"
}
}
],
"codice_fiscale": null,
"cognome": null,
"idRuolo": 0,
"nome": null,
"provincia": null,
"ruoli": [
{
"anagrafiche": [
],
"descrizione": "CapoMastrogiulia Gioia",
"id": 4
},
{
"anagrafiche": [
{
"ID_Anagrafica": 4,
"ID_Tipo_Anagrafica": 0,
"codice_fiscale": "123123",
"cognome": "prova",
"nome": "manlio",
"provincia": "r",
"ruolo": null,
"scontrini": [
{
"anagrafica": null,
"data": null,
"id": 2,
"importoTotale": 1300.0,
"iva": 22.0,
"prodotti": [
{
"catalogo": [
{
"descrizione": "notebook",
"id": 6,
"prodotti": [
null
]
}
],
"descrizione": "asus",
"id": 6,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 500.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "note"
},
{
"catalogo": [
{
"descrizione": "mac",
"id": 5,
"prodotti": [
null
]
}
],
"descrizione": "macbook air",
"id": 7,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 800.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "mac"
}
],
"totalePezzi": 2
},
{
"anagrafica": null,
"data": null,
"id": 3,
"importoTotale": 6300.0,
"iva": 22.0,
"prodotti": [
{
"catalogo": [
],
"descrizione": "macbook pro",
"id": 8,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 1000.0,
"prezzoAcquistato": 500.0,
"prezzoScontato": 200.0,
"scontrini": [
null
],
"tipo": "mac"
},
{
"catalogo": [
{
"descrizione": "notebook",
"id": 6,
"prodotti": [
null
]
}
],
"descrizione": "asus",
"id": 6,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 500.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "note"
},
{
"catalogo": [
{
"descrizione": "mac",
"id": 5,
"prodotti": [
null
]
}
],
"descrizione": "macbook air",
"id": 7,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 800.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "mac"
}
],
"totalePezzi": 7
},
{
"anagrafica": null,
"data": null,
"id": 4,
"importoTotale": 45800.0,
"iva": 22.0,
"prodotti": [
{
"catalogo": [
{
"descrizione": "notebook",
"id": 6,
"prodotti": [
null
]
}
],
"descrizione": "asus",
"id": 6,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 500.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "note"
},
{
"catalogo": [
{
"descrizione": "mac",
"id": 5,
"prodotti": [
null
]
}
],
"descrizione": "macbook air",
"id": 7,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 800.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "mac"
}
],
"totalePezzi": 91
},
{
"anagrafica": null,
"data": null,
"id": 1,
"importoTotale": 4900.0,
"iva": 22.0,
"prodotti": [
{
"catalogo": [
{
"descrizione": "notebook",
"id": 6,
"prodotti": [
null
]
}
],
"descrizione": "asus",
"id": 6,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 500.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "note"
},
{
"catalogo": [
{
"descrizione": "mac",
"id": 5,
"prodotti": [
null
]
}
],
"descrizione": "macbook air",
"id": 7,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 800.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "mac"
}
],
"totalePezzi": 8
},
{
"anagrafica": null,
"data": null,
"id": 7,
"importoTotale": 1300.0,
"iva": 22.0,
"prodotti": [
{
"catalogo": [
{
"descrizione": "notebook",
"id": 6,
"prodotti": [
null
]
}
],
"descrizione": "asus",
"id": 6,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 500.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "note"
},
{
"catalogo": [
{
"descrizione": "mac",
"id": 5,
"prodotti": [
null
]
}
],
"descrizione": "macbook air",
"id": 7,
"nPezziDisponbili": 1,
"nPezziVenduti": 1,
"prezzo": 800.0,
"prezzoAcquistato": 10.0,
"prezzoScontato": 10.0,
"scontrini": null,
"tipo": "mac"
}
],
"totalePezzi": 2
}
],
"tessera": {
"anagrafica": null,
"id": 4,
"n_tessera": 12,
"punti": 5.0
},
"utenza": {
"anagrafica": null,
"password": "admin",
"stato_Utenza": "attiva",
"username": "admin"
}
}
],
"descrizione": "Cassiere",
"id": 2
},
{
"anagrafiche": [
{
"ID_Anagrafica": 5,
"ID_Tipo_Anagrafica": 0,
"codice_fiscale": "boh",
"cognome": "fiore",
"nome": "fiore",
"provincia": "rm",
"ruolo": null,
"scontrini": [
],
"tessera": {
"anagrafica": null,
"id": 5,
"n_tessera": 200,
"punti": 0.0
},
"utenza": {
"anagrafica": null,
"password": "fiore",
"stato_Utenza": "disattiva",
"username": "fiore"
}
}
],
"descrizione": "Proprietario",
"id": 1
},
{
"anagrafiche": [
],
"descrizione": "supervisore",
"id": 3
}
]
}
【问题讨论】:
-
为什么要通过 JSON 登录?这是一个与暴露不同的问题,你根本不需要它。
-
@RomanC 现在我只想要
Anagrafiche的列表,因为我是通过浏览器登录的。但我需要制作一个 android 应用程序,所以我必须使用 JSON 管理登录。现在,如果您能帮我解决这个问题,我将非常高兴。 -
一篇文章只能问一个问题,否则你的问题会跑题并被删除。
-
@RomanC 是的,现在我遇到了这个问题。
Login是另一个问题。 -
您应该编辑问题并删除与此问题无关的问题。还发布与您上一个问题中的源代码相关的链接。
标签: java json hibernate struts2