现在的位置: 首页 > 综合 > 正文

报错:java.lang.AbstractMethodError: org.apache.commons.dbcp.PoolingDataSource…

2013年12月02日 ⁄ 综合 ⁄ 共 1034字 ⁄ 字号 评论关闭

这个错误发生的情景如下:

(我们使用的是jsonplugin-0.32.jar)

struts.xml

<action name="student_*" class="StudentAction" method="{1}">
         <result name="json" type="json" >
         </result>

StudentAction 执行return "json"; 语句之后即报此错。

问题原因:

可能是 序列化 action中所有的属性时发生了错误。

解决方案:

在struts.xml中action的result属性中设置 序列化的根对象:

  <action name="student_*" class="StudentAction" method="{1}">
         <result name="json" type="json" >
         	<param name="root">William</param>
         </result>

注意到,根对象设置为 一个不存在的值也是不会报错的,但是这里还是建议设置成action中某个需要序列化的属性。

对JSON类型的 result 中参数root 的说明:

root参数用于指定要序列化的根对象,如果省去这一配置,表示要序列化action中的所有属性

(问题的原因还是不甚清楚,以下粘贴的是action的部分代码,还望达人指点指点)

StudentAction.java:

 public String list(){
    	
    	int end = start+limit;

    	System.out.println(" StudentAction_list executes !");
   	
    	try {
			students = studentService.getAllStudents();
		} catch (SQLException e) {
			e.printStackTrace();
		}
    	int length = students.size();
    	if(end > length){
    		end = length;
    	} 
    	List<Student> listStudents = students.subList(start, end);
    	
    	super.setContentType(super.JSON);
    	String json = "{count:" + students.size() + ",items:" + super.getJSONArrayString(listStudents) + "}";
    	super.outPrint(json);
    	System.out.println(json);
    	return "json";

	}

抱歉!评论已关闭.