首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

在Struts2.0中运用JSON结合DWR和EXT

2012-10-25 
在Struts2.0中使用JSON结合DWR和EXT在Struts2.0中使用JSON结合DWR和EXT 如题,大家在Struts2.0中使用json是

在Struts2.0中使用JSON结合DWR和EXT
在Struts2.0中使用JSON结合DWR和EXT


如题,大家在Struts2.0中使用json是一般都选择了jsonplugin,我对jsonplugin不太熟悉,因此我选择了json-lib这个jar包。不知道jsonplugin对bean的支持是不是很好,还是只能对action进行序列化。好了现在说一下我的思路。

我先用Json-lib将我的bean进行序列化,当然此过程是放在了我的一个service中的。然后配置DWR公开service的接口。在 EXT调用DWR的过程中可能会有些小麻烦,因为EXT官方的程序中没有支持DWR做数据源。在网上找到一个强人写的可做EXT数据源的DWRJS略加修改就成了我的DWRJSONJS,只是小小的改动了一下。下面贴一下布分代码。

这是我改过的JS:
js 代码



注:上面程序中的reader没有作用了。我用的是EXT中的JSONREADER。

下面是EXTGrid的代码:
js 代码

以下是业务程的代码。
java 代码
   1. public JSONObject getPageData(String queryString, int cpage, int pageSize,Serializable[] params) throws DFLogError      2.     {      3.         List results;      4.         JPage pageData = null;      5.         int total;      6.         Session s = this.getSession();      7.         try     8.         {      9.             Query query = this.getQuery(queryString, params, s);     10.             total = query.list().size();     11.             results = query.setFirstResult(cpage).setMaxResults(pageSize).list();     12.             pageData = new JPage(total, cpage);     13.             pageData.setData(results);     14.             return JSONObject.fromBean(pageData,StringUtils.commaDelimitedListToStringArray("roles,authorities"));     15.         }     16.         catch (HibernateException e)     17.         {     18.             log.error("Error in BaseDao.getPageData(String hql, int cpage, int pageSize)",e);     19.             throw new DFLogError("Error in BaseDao.getPageData(String hql, int cpage, int pageSize)",e);     20.         }     21.         finally    22.         {     23.             this.closeSession(s);               }

热点排行