`
天天向上1989
  • 浏览: 419422 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

SSH2中加JSON

阅读更多

struts2中的action:

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<Sales> 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错误了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics