我正在尋找獲取JSON頁面的列表。我目前使用hibernate + struts,我已經添加到我的構建路徑JSON Struts2 plugin
。如何使用Struts2獲取JSON列表
我簡單配置了我的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文件開始的空對象。我該如何解決?
{
"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管理登錄。現在,如果你能幫我解決這個問題,我會非常高興。 – Manlio
您可以在一篇文章中詢問您只有一個問題,否則您的問題將被脫離主題並刪除。 –