0 0

CXF Rest 无法做分页,急。5

我现在使用cxf的rest搭建服务,可以碰到Rest无法分页的问题。直接贴出代码

@XmlRootElement(name="User")
@XmlAccessorType(XmlAccessType.FIELD)
public class User {
	private String userId;
	private String userName;
        // get set 方法省了
}

@XmlRootElement(name="Page")
@XmlAccessorType(XmlAccessType.FIELD)
public class Page {
	/**
	 * 每页的展现条数
	 */
	private int pageSize = 20;
	/**
	 * 总记录数
	 */
	private int totalCount;
	/**
	 * 总页数
	 */
	private int totalPage;
	/**
	 * 当前页数
	 */
	private int currentPage = 0;
	/**
	 * 当前页起始记录
	 */
	private int startIndex = 0;
	/**
	 * 查询结果集
	 */
	@XmlElementWrapper(name="items")	// 在集合外包一层,名为items
	@XmlElement(name="item")			// 集合单个元素,名为item
	private List items;

}

 

这是起初的做法,后台提示“...User 以及其任何超类对此上下文都是未知的”,意思是List中的元素无法转换;

后来继续查找,说是用到@XmlSeeAlso注解,改良为如下,该方案可行,可以转换为json或xml输出。

但是,弊端是,这个分页类就无法通用了,每增加一个类型的分页就要在XmlSeeAlso里增加一个。

@XmlRootElement(name="PaginationSupport")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlSeeAlso({User.class})
public class PaginationSupport implements java.io.Serializable{
    。。。
}

 最后,增加泛型PaginationSupport<T>,也无济于事,不能转换。

请大家帮看看,到底CXF rest的分页如何实现。

 

2013年3月20日 22:09
目前还没有答案

相关推荐

Global site tag (gtag.js) - Google Analytics