<%@page contentType="text/xml"%><%@page pageEncoding="UTF-8"%><% /*----------------------------------------------------------------------------------------------------------------- ! Support file only, run Basic.html instead ! This file is used as both Data_Url and Upload_Url Generates data for TreeGrid when no data received or saves received changes to database Single file, without using TreeGridFramework.jsp ------------------------------------------------------------------------------------------------------------------*/ //------------------------------------------------------------------------------------------------------------------ response.addHeader("Cache-Control","max-age=1, must-revalidate"); // --- Database connection --- String Path = request.getServletPath().replaceAll("[^\\/\\\\]*$",""); // Relative path to script directory ending with "/" java.sql.Connection Conn = null; java.sql.Statement Cmd = null; try { Class.forName("org.hsqldb.jdbcDriver").newInstance(); Conn = java.sql.DriverManager.getConnection("jdbc:hsqldb:file:"+application.getRealPath(Path+"../Database"), "sa", ""); Cmd = Conn.createStatement(); } catch (Exception e) { out.print(""); out.close(); throw new Exception(""); } // --- Save data to database --- String XML = request.getParameter("TGData"); if(XML==null) XML=""; if(!XML.equals("")){ try { if(XML.charAt(0)=='&'){ XML = XML.replaceAll("<","<").replaceAll(">",">").replaceAll("&","&").replaceAll(""","\"").replaceAll("'","'"); } org.w3c.dom.Document X = javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new org.xml.sax.InputSource(new java.io.StringReader(XML))); org.w3c.dom.NodeList Ch = X.getElementsByTagName("Changes"); if(Ch.getLength()>0) Ch = Ch.item(0).getChildNodes(); for(int i=0;i"); } catch(Exception ex){ out.print("Error in saving data !
"); out.print(ex.getMessage()); } } // --- Load data from database --- else { StringBuffer S = new StringBuffer(); java.sql.ResultSet R = Cmd.executeQuery("SELECT * FROM TableData"); S.append(""); while(R.next()){ S.append(""); } S.append(""); out.print(S.toString()); R.close(); } //------------------------------------------------------------------------------------------------------------------ %>