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

前台部分参看:

 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"/>
--%>

 

 

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

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

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值