Advertisement
Guest User

Untitled

a guest
Jul 12th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.95 KB | None | 0 0
  1. Ok so what I'm trying to do is display data saved in mysql database to the each cell or date of the fullcalendar. I'm able to save data and retrieve and diplay in a separate jsp page to test out. What i'm supposed to do is display it out in a fullcalendar. My flow is index.jsp (shows my Full Calendar) > if "+" is pressed > it goes to AddEvent.jsp> Which the data need to be displayed on index.jsp (fullCalendar page)
  2.  
  3. Index.jsp: This is my main page that displays the calendar so in each cell of the calendar, the data saved in mysql should appear
  4. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  5. pageEncoding="ISO-8859-1"%>
  6. <!DOCTYPE html>
  7.  
  8. <%@page import="model.AddEvents,java.util.ArrayList,java.util.ListIterator" %>
  9.  
  10. <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
  11.  
  12. <head>
  13. <meta charset="utf-8" />
  14.  
  15. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  16.  
  17.  
  18. <script type="text/javascript" src= "https://code.jquery.com/jquery-3.2.1.min.js">
  19. $(document).ready(function() {
  20.  
  21. var date = new Date();
  22. var d = date.getDate();
  23. var m = date.getMonth();
  24. var y = date.getFullYear();
  25.  
  26.  
  27.  
  28.  
  29. $('#calendar').fullCalendar({
  30. header: {
  31. left: 'prev,next today',
  32. center: 'title',
  33. right: 'month,agendaWeek,agendaDay'
  34. },
  35.  
  36. selectable: true,
  37. editable: true,
  38. events: "/BackUp/AddEventsServlet",
  39.  
  40. //to be edited
  41. eventRender: function(event, element) {
  42. element.attr('title', event.tip);
  43. },
  44.  
  45.  
  46.  
  47.  
  48. });
  49.  
  50. </script>
  51. <title>Calendar</title>
  52.  
  53. <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" type="text/css" rel="stylesheet" />
  54.  
  55. <link href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.6.1/fullcalendar.min.css" type="text/css" rel="stylesheet" />
  56.  
  57. </head>
  58.  
  59. <body>
  60.  
  61. <a class= "add_event_label" href="https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_textarea"></a>
  62.  
  63. <div class="container">
  64.  
  65.  
  66. <div class="row">
  67.  
  68. <div class="col-xs-12">
  69.  
  70. <h1>Calendar</h1>
  71.  
  72. <br />
  73.  
  74. <div id="bootstrapModalFullCalendar"></div>
  75.  
  76.  
  77.  
  78.  
  79. </div>
  80.  
  81. </div>
  82.  
  83. </div>
  84.  
  85. <!-- this is the pop up window when you press the button -->
  86.  
  87. <div id="fullCalModal" class="modal fade">
  88.  
  89. <div class="modal-dialog">
  90.  
  91. <div class="modal-content">
  92.  
  93. <div class="modal-header">
  94.  
  95. <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span> <span class="sr-only">close</span></button>
  96.  
  97. <h4 id="modalTitle" class="modal-title"></h4>
  98.  
  99. </div>
  100.  
  101. <div id="modalBody" class="modal-body">
  102.  
  103.  
  104. </div>
  105.  
  106.  
  107. <!-- <div class="modal-footer">
  108.  
  109. <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  110.  
  111. <a class="btn btn-primary" id="eventUrl" target="_blank">Event Page</a>
  112.  
  113. </div>-->
  114.  
  115. </div>
  116.  
  117. </div>
  118.  
  119. </div>
  120.  
  121.  
  122. <script src="https://code.jquery.com/jquery.js"></script>
  123.  
  124. <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.2/moment.min.js"></script>
  125.  
  126. <script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.6.1/fullcalendar.min.js"></script>
  127.  
  128. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
  129.  
  130.  
  131. <script>
  132.  
  133.  
  134. $(document).ready(function() {
  135.  
  136. $('#bootstrapModalFullCalendar').fullCalendar({
  137.  
  138. header: {
  139.  
  140. left: '',
  141.  
  142. center: 'prev title next',
  143.  
  144. right: ''
  145.  
  146.  
  147. },
  148. //action after calendar loaded
  149. eventAfterAllRender: function(view){
  150. if(view.name == 'month')
  151. {
  152. //loop all .fc-day elements
  153. $('.fc-day').each(function(){
  154. //jQuery styling
  155. $(this).css({ 'font-weight': 'bold', 'font-size': '100%'});
  156. $(this).css('position','relative');
  157. //add elements to each .fc-day, you can modify the content in append() with your own html button code
  158. $(this).append('<a class="add_event_label" href ="AddEvent.jsp" style="position:absolute;bottom:0;left:0;right:0;display:block;font-size:12px;color:blue;cursor:pointer;">(+)</a>' );
  159. });
  160. }
  161. },
  162.  
  163. eventClick: function(event, jsEvent, view) {
  164. //$(".fc-day-number").prepend("(+) ");
  165.  
  166. $('#modalTitle').html(event.title);
  167.  
  168. $('#modalBody').html(event.description);
  169.  
  170. $('#eventUrl').attr('href',event.url);
  171.  
  172. $('#fullCalModal').modal();
  173.  
  174. return false;
  175.  
  176. },
  177.  
  178.  
  179. })
  180. })
  181.  
  182. </script>
  183.  
  184.  
  185. </body>
  186.  
  187. </html>
  188.  
  189. DBAO.java: My java class page that saves the data
  190. package database;
  191.  
  192. import model.AddEvents;
  193. import java.sql.Connection;
  194. import java.sql.Date;
  195. import java.sql.DriverManager;
  196. import java.sql.PreparedStatement;
  197. import java.sql.ResultSet;
  198. import java.util.ArrayList;
  199.  
  200.  
  201. public class DBAO {
  202. Connection con;
  203. //Database Conifguration
  204. public static String url ="jdbc:mysql://localhost/backup?autoReconnect=true&useSSL=false";
  205. public static String dbdriver="com.mysql.jdbc.Driver";
  206. public static String username= "root";
  207. public static String password= "mysql";
  208.  
  209.  
  210. public DBAO() throws Exception{
  211. try{
  212. //Class.forName("com.mysql.jdbc.Driver").newInstance();
  213. //Connection conn = DriverManager.getConnection(url,"username","password");
  214. Class.forName(dbdriver);
  215. con=DriverManager.getConnection(url,username,password);
  216. con.setAutoCommit(true);
  217.  
  218. }catch(Exception ex){
  219. System.out.println("Exception in DBAO" + ex);
  220. throw new Exception("Couldn't open connection to database:" +
  221.  
  222. ex.getMessage());
  223. }
  224. }
  225.  
  226. public ArrayList<AddEvents>getAddEvents() throws Exception
  227. {
  228. AddEvents myEvent=null;
  229. ArrayList<AddEvents> myEventList = new ArrayList<AddEvents>();;
  230.  
  231.  
  232. try
  233. {
  234.  
  235.  
  236. String selectStatement ="select * from backup.add_event";
  237. PreparedStatement prepStmt = con.prepareStatement(selectStatement);
  238.  
  239.  
  240. // prepStmt.setString(1,title);
  241. // prepStmt.setString(2,eventDesc);
  242. // prepStmt.setString(3,StartTime);
  243. // prepStmt.setString(4,EndTime);
  244. // prepStmt.setString(5,Budget);
  245.  
  246. System.out.println(prepStmt);
  247. //prepStmt.setString(6,Transportation);
  248. //prepStmt.setString(7,Environment);
  249.  
  250. ResultSet rs = prepStmt.executeQuery();
  251.  
  252. while(rs.next())
  253. {
  254.  
  255. System.out.println("Record Found!");
  256.  
  257. myEvent= new AddEvents();
  258.  
  259. myEvent.setTitle(rs.getString("title"));
  260. myEvent.setEventDesc(rs.getString("eventDesc"));
  261. myEvent.setStartTime(rs.getString("StartTime"));
  262. myEvent.setEndTime(rs.getString("EndTime"));
  263. myEvent.setBudget(rs.getString("Budget"));
  264. myEventList.add(myEvent);
  265. //myEvent.setTransportation(rs.getString("Transportation"));
  266. //myEvent.setEnvironment(rs.getString("Environment"));
  267. }
  268. }catch(Exception ex)
  269. {
  270. System.out.println("Error:" +ex.getMessage());
  271. throw new Exception("Error:" +ex.getMessage());
  272. }
  273. System.out.println("AddEventsList SIZE=" +myEventList.size());
  274. return myEventList;
  275. }
  276.  
  277.  
  278. public model.AddEvents AddEvents(AddEvents event, String title, String eventDesc, String StartTime, String EndTime,String Budget) throws Exception {
  279. // TODO Auto-generated method stub
  280. try{
  281. String insertStatement ="Insert into backup.add_event (title,eventDesc,StartTime, EndTime,Budget)";
  282. insertStatement=insertStatement+ "values(?,?,?,?,?)";
  283. PreparedStatement prepStmt1 = con.prepareStatement(insertStatement);
  284. //System.out.println(insertStatement);
  285.  
  286.  
  287.  
  288. prepStmt1.setString(1,event.getTitle());
  289. prepStmt1.setString(2,event.getEventDesc());
  290. prepStmt1.setString(3,event.getStartTime());
  291. prepStmt1.setString(4,event.getEndTime());
  292. prepStmt1.setString(5,event.getBudget());
  293. //prepStmt1.setString(6,event.getTransportation());
  294. //prepStmt1.setString(7,event.getEnvironment());
  295.  
  296.  
  297. int status=prepStmt1.executeUpdate();
  298.  
  299. if(status!=0){
  300. System.out.println("Record Added");
  301. }
  302.  
  303. }catch(Exception ex)
  304. {
  305. throw new Exception("Error:" +ex.getMessage());
  306. }
  307. return event;
  308. }
  309. }
  310.  
  311.  
  312. AddEvent.jsp: Each + clicked will go to this page
  313. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  314. pageEncoding="ISO-8859-1" %>
  315. <%@ page import ="model.AddEvents,java.util.ArrayList,java.util.ListIterator" %>
  316. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  317. <html>
  318. <head>
  319. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  320. <title>Insert title here</title>
  321. <h1 align="center">Add Event</h1>
  322. <script>
  323. function myFunction() {
  324. document.getElementById("myTime").value = "22:53:05";
  325. }
  326.  
  327. function mySubmitFunction() {
  328. alert("You added an Event");
  329. }
  330.  
  331.  
  332. </script>
  333.  
  334. </head>
  335. <body>
  336. <form action="AddEventsServlet" method="post" onsubmit="mySubmitFunction()">
  337. <table align="center" border= "10px" cellpadding="10">
  338. <tr>
  339. <td>
  340. <label>Title :</label><input type="text" name="Title" required>
  341. </td>
  342. </tr>
  343. <tr>
  344. </tr>
  345. <tr>
  346. <td>
  347. <label>Details:</label><textarea rows="4" cols="15" name="EventDesc"></textarea>
  348. </td>
  349. </tr>
  350. <tr>
  351. <td>
  352. Start time:<input type="time" id="myTime" name="StartTime">
  353. </td>
  354. </tr>
  355.  
  356. <tr>
  357. <td>
  358. End time:<input type="time" id="myTime" name="EndTime">
  359. </td>
  360. </tr>
  361.  
  362. <tr>
  363. <tr>
  364. <td>
  365. Approximate Budget:<input type="text" id="budget" name="Budget">
  366. </td>
  367. </tr>
  368.  
  369. <!-- <tr>
  370. <td>
  371. Transportation:<select name="transportation" name="Transportation">
  372. <option value="Bus">Bus</option>
  373. <option value="MRT">MRT</option>
  374. <option value="Cab">Cab</option>
  375. <option value="Walk">Walk</option>
  376. </select>
  377. </td>
  378. </tr>-->
  379.  
  380. <!-- -<tr>
  381. <td>
  382. Environment: <input type="radio" name="Indoor" value="Indoor" name="Environment"> Indoor
  383. <input type="radio" name="Outdoor" value="Outdoor">Outdoor<br>
  384. </td>
  385. </tr>
  386.  
  387. <tr>-->
  388.  
  389.  
  390.  
  391. <tr>
  392.  
  393. <td><input class = 'btnSel' type="submit" name="btnAddView" value="Add" onclick="form.action='AddEventsServlet';"> <button type="reset" value="Reset">Reset</button></td></tr>
  394.  
  395. </table>
  396.  
  397. <input id ='eventID' type="hidden" name ="hiddEvent" value="">
  398. <a href="index.jsp">
  399. <img border="0" alt="W3Schools" src="cal.jpg" width="50" height="50">
  400. </a>
  401.  
  402.  
  403.  
  404.  
  405. </form>
  406.  
  407. </body>
  408. </html>
  409.  
  410. Retrieve.jsp: From AddEvent.jsp, if you click "Add", it will do to this page
  411. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  412. pageEncoding="ISO-8859-1"%>
  413. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  414. <html>
  415. <head>
  416. <%@page import="model.AddEvents,java.util.ArrayList,java.util.ListIterator" %>
  417. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  418. <title>Insert title here</title>
  419. </script>
  420. </head>
  421. <body>
  422. <%
  423. ArrayList<AddEvents> myEventList =(ArrayList<AddEvents>) request.getAttribute("EventList");
  424. if(myEventList.size()==0)
  425. {
  426. %>
  427. <h2>No events retrieved</h2>
  428. <%
  429. }
  430. else
  431. {
  432. %>
  433.  
  434. <table>
  435. <%
  436. ListIterator li = myEventList.listIterator();
  437.  
  438. while(li.hasNext())
  439. {
  440. AddEvents myEvent = new AddEvents();
  441. myEvent= (AddEvents)li.next();
  442. %>
  443.  
  444. <tr><td>Title:</td><td><%= myEvent.getTitle() %></td></tr>
  445. <tr><td>Details:</td><td><%= myEvent.getEventDesc() %></td></tr>
  446. <tr><td>StartTime:</td><td><%=myEvent.getStartTime() %></td></tr>
  447. <tr><td>EndTime:</td><td><%= myEvent.getEndTime() %></td></tr>
  448. <tr><td>Budget:</td><td>$<%=myEvent.getBudget() %></td></tr>
  449. <%}
  450.  
  451. %>
  452. </table>
  453. <%
  454. }
  455. %>
  456. <input id='eventID' type="hidden" name="hiddEvent" value="">
  457. </body>
  458. </html>
  459.  
  460. AddEventsServlet:
  461. package servlet;
  462.  
  463. import java.io.IOException;
  464. import java.text.ParseException;
  465. import java.text.SimpleDateFormat;
  466. import java.util.ArrayList;
  467. import java.util.Date;
  468. import java.util.ListIterator;
  469.  
  470. import javax.servlet.RequestDispatcher;
  471. import javax.servlet.ServletException;
  472. import javax.servlet.annotation.WebServlet;
  473. import javax.servlet.http.HttpServlet;
  474. import javax.servlet.http.HttpServletRequest;
  475. import javax.servlet.http.HttpServletResponse;
  476. import javax.servlet.http.HttpSession;
  477.  
  478. import database.DBAO;
  479. import model.AddEvents;
  480.  
  481.  
  482. /**
  483. * Servlet implementation class AddEventsServlet
  484. */
  485. @WebServlet("/AddEventsServlet")
  486. public class AddEventsServlet extends HttpServlet {
  487. private static final long serialVersionUID = 1L;
  488.  
  489. /**
  490. * @see HttpServlet#HttpServlet()
  491. */
  492. public AddEventsServlet() {
  493. super();
  494. // TODO Auto-generated constructor stub
  495. }
  496.  
  497. /**
  498. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  499. */
  500. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  501. // TODO Auto-generated method stub
  502. //response.getWriter().append("Served at: ").append(request.getContextPath());
  503. }
  504.  
  505. /**
  506. * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  507. */
  508. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  509. // TODO Auto-generated method stub
  510. //doGet(request, response);
  511.  
  512. AddEvents myEvent = new AddEvents();
  513. //create an object based on the Java class customers
  514.  
  515.  
  516. //Assignment of data
  517. myEvent.setTitle(request.getParameter("Title"));
  518. myEvent.setEventDesc(request.getParameter("EventDesc"));
  519. myEvent.setStartTime(request.getParameter("StartTime"));
  520. myEvent.setEndTime(request.getParameter("EndTime"));
  521. myEvent.setBudget(request.getParameter("Budget"));
  522.  
  523.  
  524. String title = request.getParameter("Title");
  525. String eventDesc= request.getParameter("EventDesc");
  526. //This will convert string to date format
  527.  
  528. String StartTime=request.getParameter("StartTime");
  529. String EndTime =request.getParameter("EndTime");
  530.  
  531. String Budget=request.getParameter("Budget");
  532.  
  533.  
  534.  
  535. System.out.println(myEvent.getTitle());
  536. System.out.println(myEvent.getEventDesc());
  537. System.out.println(myEvent.getStartTime());
  538. System.out.println(myEvent.getEndTime());
  539. System.out.println(myEvent.getBudget());
  540. request.setAttribute("Title",title);
  541. request.setAttribute("Details",eventDesc);
  542. request.setAttribute("Start Time",StartTime);
  543. request.setAttribute("End Time",EndTime);
  544. request.setAttribute("Budget",Budget);
  545.  
  546. try
  547. {
  548. DBAO myDatabase = new DBAO();
  549. ArrayList <AddEvents> myEventList = myDatabase.getAddEvents();
  550. //AddEvents myEventDetails =myDatabase.isEvent(myEvent,title, eventDesc, StartTime, EndTime, Budget);
  551.  
  552. HttpSession myRequest = request.getSession(true);
  553. request.setAttribute("EventList",myEventList);
  554. System.out.println(myEventList.size());
  555. //myDatabase.AddEvents(myEvent,title,eventDesc,StartTime,EndTime,Budget);
  556. request.getRequestDispatcher("Retrieve.jsp").forward(request, response);
  557.  
  558.  
  559. }catch(Exception ex)
  560. {
  561. System.out.println("Error Accessing Database:" +ex);
  562. }
  563.  
  564. }
  565.  
  566. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement