SSH 2にJSONを入れる
struts 2のaction:
Salesクラス:
なぜなら
List list=salesService.find("from Sales s left join fetch s.company c where s.salesNo = "+sales.getSalesNo());
findでcompanyを持ち出さないと、json形式でデータを変換するとhibernate no sessionとエラーが発生します.
JSONは無理にsalesのcompanyを変換しようとしているに違いないと思いますが、salesのcompanyには値がないので取りに行きます.
JSONを見ているとなかなか面倒なので、JSONの問題にぶつかるたびに半日探していましたが、今日やっとHTTP watchでJSONの間違いを調べることができることに気づきました.
public class InvoiceAction extends ActionSupport implements ModelDriven<Sales>{
private List<Sales> salesList=new ArrayList<Sales>();
private SalesIService salesService;
private Sales sales=new Sales();
public String initData(){
HttpServletRequest request =ServletActionContext.getRequest();
HttpSession session = request.getSession();
Short coid=(Short) session.getAttribute("coid");
salesList=salesService.find("from Sales s where s.company.coId="+coid);
System.out.println(salesList);
return "succ";
}
public String findByPK(){
List<Sales> list=salesService.find("from Sales s left join fetch s.company c
where s.salesNo = "+sales.getSalesNo());
if(list.size()>0){
sales=list.get(0);
System.out.println("( ⊙ o ⊙ )");
System.out.println(sales.getSeName()+"╮(╯▽╰)╭");
}
return SUCCESS;
}
//get,set
public List<Sales> getSalesList() {
return salesList;
}
public void setSalesList(List<Sales> salesList) {
this.salesList = salesList;
}
public void setSalesService(SalesIService salesService) {
this.salesService = salesService;
}
public Sales getModel() {
return this.sales;
}
}
Salesクラス:
public class Sales implements Serializable{
private Integer salesNo; //PK
private String sen1; //
private Company company; // (FK)
private String seName; //
private String taxId; //
private String bank; //
private String account; //
private String address; //
private String phone; //
}
なぜなら
List
findでcompanyを持ち出さないと、json形式でデータを変換するとhibernate no sessionとエラーが発生します.
JSONは無理にsalesのcompanyを変換しようとしているに違いないと思いますが、salesのcompanyには値がないので取りに行きます.
JSONを見ているとなかなか面倒なので、JSONの問題にぶつかるたびに半日探していましたが、今日やっとHTTP watchでJSONの間違いを調べることができることに気づきました.