zoukankan      html  css  js  c++  java
  • JSONException: java.lang.reflect.InvocationTargetException

    package com.newland.honeyweek.json.action;
    
    import java.io.Serializable;
    import java.util.List;
    
    import javax.annotation.Resource;
    
    import net.sf.json.JSONObject;
    
    import org.apache.struts2.convention.annotation.Action;
    import org.apache.struts2.convention.annotation.Namespace;
    import org.apache.struts2.convention.annotation.ParentPackage;
    import org.apache.struts2.convention.annotation.Result;
    import org.apache.struts2.convention.annotation.Results;
    import org.apache.struts2.json.annotations.JSON;
    
    import com.newland.honeyweek.common.PageResultSet;
    import com.newland.honeyweek.common.Pager;
    import com.newland.honeyweek.model.Honey;
    import com.newland.honeyweek.model.Letter;
    import com.newland.honeyweek.service.LetterService;
    import com.newland.honeyweek.service.PhotoService;
    import com.newland.honeyweek.service.UserService;
    import com.opensymphony.xwork2.ActionSupport;
    
    @SuppressWarnings("serial")
    @ParentPackage("json-default") 
    @Namespace("/")
    @Action("jsonAction")
    @Results(value = {
    		@Result(name = "test",type="json") })
    public class JsonAction extends ActionSupport implements Serializable {
    	@Resource
    	private UserService userService;
    	@Resource
    	private LetterService letterService;
    	@Resource
    	private PhotoService photoService;
    	private Pager pager = new Pager();
    	private Letter letter;
    	private PageResultSet<Honey> pageResultSet;
    	private PageResultSet<Letter> letterPage;
    	private String jsonResult;
    
    	@Override
    	public String execute() throws Exception {
    		return super.execute();
    	}
    
    	public String inBoxTest() {
    		String hql = "From Letter letter where letter.toWho='2@qq.com' group by letter.toWho order by sendTime desc";
    		letterPage = letterService.queryByPage(hql, 12, pager.getOffset());
    		List<Letter> list=letterPage.getRows();
    		PageResultSet<Letter> ret=new PageResultSet<Letter>();
    		ret.setRows(list);
    		ret.setRowCount(list.size());
    		JSONObject jsonObject = JSONObject.fromObject(ret);
    		jsonResult=jsonObject .toString();
    		System.out.println(jsonResult);
    		return "test";
    	}
            //以下三个getter and setter方法导致了本次的错误
            public UserService getUserService() {
    		return userService;
    	}
    	public void setUserService(UserService userService) {
    		this.userService = userService;
    	}
    	public LetterService getLetterService() {
    		return letterService;
    	}
    	public void setLetterService(LetterService letterService) {
    		this.letterService = letterService;
    	}
    	public PhotoService getPhotoService() {
    		return photoService;
    	}
    	public void setPhotoService(PhotoService photoService) {
    		this.photoService = photoService;
    	}
    	public Pager getPager() {
    		return pager;
    	}
    	public void setPager(Pager pager) {
    		this.pager = pager;
    	}
    	public Letter getLetter() {
    		return letter;
    	}
    	public void setLetter(Letter letter) {
    		this.letter = letter;
    	}
    	public PageResultSet<Honey> getPageResultSet() {
    		return pageResultSet;
    	}
    	public void setPageResultSet(PageResultSet<Honey> pageResultSet) {
    		this.pageResultSet = pageResultSet;
    	}
    	public PageResultSet<Letter> getLetterPage() {
    		return letterPage;
    	}
    	public void setLetterPage(PageResultSet<Letter> letterPage) {
    		this.letterPage = letterPage;
    	}
    	@JSON(serialize = false)
    	public String getJsonResult() {
    		return jsonResult;
    	}
    	public void setJsonResult(String jsonResult) {
    		this.jsonResult = jsonResult;
    	}
    
    	
    
    }
    
    $(function() {
    			$('#hrUser_datagrid').datagrid({
    				url : '<%=request.getContextPath()%>/jsonAction!inBoxTest.action',
    				fit : true,
    				fitColumns : true,
    				border : false,
    				pagination : true,
    				idField : 'id',
    				pageSize : 10,
    				pageList : [ 10, 20, 30, 40, 50 ],
    				checkOnSelect : false,
    				selectOnCheck : false,
    				onClickRow : function(value,row,index){
    					HrUser.initHrUserGrid(row.userId,subSysCode);
    				},
    				nowrap : false,
    				frozenColumns : [ [ 
    				{title : '信件编码',field : 'id',width : 150,checkbox : true}] ],
    				columns : [ [ 
    				{title : '发件人',field : 'fromWho',width : 150},
    				{title : '收件人',field : 'toWho',width : 150},
    				{title : '发送时间',field : 'sendTime',width : 150},
    				{title : '接收时间',field : 'receiveTime',width : 150},
    				{title : '状态',field : 'statue',width : 150},
    		 		{title : '消息内容',field : 'message',width : 150} ] ],
    		 		toolbar :'#toolbar'
    			});
    
    		});
    
    纠其原因:是因为struts2的json控件把service类当成属性对象返回了
    




  • 相关阅读:
    UITableView学习笔记
    IOS基础之设置APP的名字、设置图标、添加等待加载时的图片
    UIScrollView,UIPageControl
    UIPickerView基本用法
    最大公约数和最小公倍数
    快速幂、快速乘
    素数筛
    最小生成树
    BZOJ1070 [SCOI2007]修车
    BZOJ1109 [POI2007]堆积木Klo
  • 原文地址:https://www.cnblogs.com/IntelligentBrain/p/5111313.html
Copyright © 2011-2022 走看看