`
GH0769
  • 浏览: 78285 次
  • 性别: Icon_minigender_1
  • 来自: 东莞
社区版块
存档分类
最新评论

jsp+jquery + struts2 + hibernate + spring +dhtmlxScheduler日程的集成(二)

    博客分类:
  • Web
阅读更多

前台部分参看:

 jsp+jquery + struts2 + hibernate + spring +dhtmlxScheduler日程的集成(一)

 

这里只是将后台的action的处理,使用的struts2,struts,servlet,等原理都差不多,

1、前台刚跳转时的处理:检查前台传的日期和模式不能为NULL,然后将该两个参数直接给前台就可以了。

            if (StringUtils.isBlank(this.queryMode))
            {
                this.queryMode = "day";
            }
            if (StringUtils.isBlank(this.queryDate))
            {
                this.queryDate = DateUtil.getDate();
            }
            else
            {
                this.queryDate = DateUtil.getAsDate(DateUtil.getAsDate(this.queryDate));
            }
            SysUtils.getHttpServletRequest().setAttribute("queryMode", queryMode);
            SysUtils.getHttpServletRequest().setAttribute("queryDate", queryDate);

return SUCCESS;

 

2、前台需要读取某范围的数据时,通过数据库数据查询,将该段时间的日历保存到一个xml文件中。

            List list = this.commonService.execSQL("select serial,title,start_date,end_date from schedule_info where start_date >= '" + this.queryDate + "'");//这里利用基本的spring和hibernate提供的功能完成了一个包含了基本操作的

service,不喜欢每个东西都搞一个DAO,SERVICE,大部分操作都差不多,这里提供了操作基本的JDBC,HQL等功能,
            // SysUtils.getHttpServletRequest().setAttribute("workLogList", list);
//利用dom4j来讲读取的数据生成XML
            Document doc = DocumentHelper.createDocument();
            Element root = doc.addElement("data");
            for (int i = 0; i < list.size(); i++)
            {
                Element element = root.addElement("event").addAttribute("id", (String) ((Object[]) list.get(i))[0]);
                element.addElement("text").addCDATA((String) ((Object[]) list.get(i))[1]);
                element.addElement("start_date").setText(DateUtil.formatDate((Date)((Object[]) list.get(i))[2]));
                element.addElement("end_date").setText(DateUtil.formatDate((Date)((Object[]) list.get(i))[3]));
            }


            Random r = new Random();
            String str = String.valueOf(r.nextInt(100));
            //随机生成该xml文件名
            String xml = doc.asXML();
            String path = "D:\\java\\tomcat6\\webapps\\eims\\xml\\" + str + ".xml"; //路径问题,
            FileOutputStream fos = new FileOutputStream(path);
            Writer out = new OutputStreamWriter(fos, "UTF-8");
            out.write(xml);
            out.flush();
            out.close();
 
           
            前台是利用ajax请求范围的日历东西,这里只是返回生成的xml的相对路径,前台得到该路径后就

可以调用scheduler.load(path); //见一
            JSONObject json = new JSONObject();
            json.put("result", "ok");
            json.put("path", "xml" + "/" + str + ".xml");
            SysUtils.getHttpServletRequest().setAttribute("jsonToString", json.toString());
            return Constants.json;

 

return Constants.json;是指跳转的链接,这里是跳转得到一个jsp文件中,该文件的内容如下:

<%@page contentType="text/html; charset=UTF-8"%>
<%@page import="com.app.utils.SysUtils"%>
<%
request.setAttribute("decorator", "none");
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
//System.out.print(SysUtils.getHttpServletRequest().getAttribute("jsonToString"));
out.write(SysUtils.getHttpServletRequest().getAttribute("jsonToString").toString());
//System.out.println(SysUtils.getHttpServletRequest().getAttribute("jsonToString").toString());
%>
<%--
<s:property value="%{jsonToString}" escape="false"/>
--%>

 

 

其他的例如保存,删除等同其他的处理一致,

因为信息的编辑是自己定义的窗口,所以想怎么安排就怎么安排了。

 

 

 

 

 

 

 

 

分享到:
评论
10 楼 洋葱pp奥特曼 2017-08-26  
大神您好!刚项目有遇到这个功能,能否发一份完整例子到我的邮箱:173992660@qq.com 万分感激!!!
9 楼 jasonjun2005 2013-10-28  
楼主, 文章写很好, 
希望能发一份完整的代码给我,谢谢!
57776152@qq.com
8 楼 雄仔- 2013-05-22  
主页君,很用心写啊 深表敬意。我前几天也关注了dhtmlxScheduler,感觉很不错。但是有些问题不怎么懂。我是用JDBC实现的。还没学到 hibernate。如果不介意的话,能否把你的代码分享下。谢谢。邮箱:345901766@qq.com
7 楼 cl_cindy 2013-01-31  
楼主你好,本人在学习中还有不少困惑,比如queryMode怎么使用这一块还不是很了解,可以发源码我学习一下吗?谢谢!邮箱:402018280@qq.com
6 楼 hhttt 2012-07-06  
hhttt 写道
求楼主给份源代码,实训项目中我正在做OA系统的日程管理模块,楼主好人一生平安

我的邮箱:364087829@qq.com
5 楼 hhttt 2012-07-06  
求楼主给份源代码,实训项目中我正在做OA系统的日程管理模块,楼主好人一生平安
4 楼 ct379235349 2012-05-27  
对楼主的这个demo很感兴趣 希望能学习一下 谢谢 邮箱:1009073548@qq.com
3 楼 zehua 2011-12-14  
楼主,你的文章写得很好呀,
但有几个地方还不是很明白,
希望能发一份完整的代码给我,谢谢!
53142297@qq.com
2 楼 huyoung3688 2011-10-10  
正在学习中,请问一下,可以发源码我看一下吗?谢谢!邮箱:962636660@qq.com
1 楼 ok2079 2010-07-05  
博主您好,请教一下,如何向日历的事件上增加数据项?例如加一个“重要程度”。我做着一个社区服务项目,事情繁多,想用这个东西辅助一下管理。学习了您的2篇博文,基本掌握了dhtmlscheduler,还有以上这个问题,希望不吝指教。我加了您的QQ了。先谢过!

相关推荐

Global site tag (gtag.js) - Google Analytics