1
我有問題,如果我修改或過濾DAO中的查詢,然後JSON結果不會來,否則它的工作。但我需要過濾查詢。所有的細節是:爲什麼沒有過濾查詢的JSON輸出?
表的詳細信息:地址(addressID,道路,州,代碼)
實體模型(Address.java):
@Entity
public class Address(){
@Id
int addressID;
String code;
//getter + setter methods
}
我只需要addressID
和code
,只這兩個領域。所以,我只映射這兩個,我不需要其他領域。
Action類(JSONData.java):
public class JSONData extends ActionSupport{
private List<Address> address;
//getter, setter
public String jsonFormatDate() {
AddressDAO dao = new AddressDAO();
address = dao.listOfAllAddresses();
return SUCCESS;
}
}
DAO類(AddressDAO.java):
public class AddressDAO{
public List<Address> listOfAllAddresses() {
.....
List list = s.createQuery("from Address").list();
.....
return list;
}
}
如果我使用查詢"from Address"
那麼JSON輸出成功我可以很容易地使用該結果來呈現JSP頁面。
但是,如果我修改查詢和篩選如"select a.addressID, a.code from Address a"
那麼沒有JSON輸出。此外,如果我還使用where
子句,則不會有JSON輸出。如果我運行這個表單DAO層,查詢將執行正確的輸出。但不是來自JSON。
我需要包括什麼東西來使用一些過濾規則來獲取JSON輸出。
我試圖使用類似於「從地址a中選擇a.addressID」的查詢。但沒有JSON輸出。但是,如果我嘗試使用DAO類的控制檯模式,那麼相同的查詢正在工作。 – adarksun
使用此答案中的查詢。對於JSON輸出,你應該返回一個'json'結果。請參閱[this](http://stackoverflow.com/a/21350079/573032)回答。 –
我試過這個答案。但我仍然感到困惑。在struts.xml中,我配置爲「 」。所以,我期待通過字段「地址」到Action類的結果。但是它僅將主鍵字段的值賦予JSON結果。我沒有使用查詢「從Address a中選擇a.addressID」來獲取adressID值。那麼,實際上我需要更改哪個? –
adarksun