Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!DOCTYPE html>
- <html>
- <!-- -------------------------------------------------------------------------HEAD------------------------------------------------------------------------>
- <head>
- <%@ page import="java.sql.*"%>
- <%@ page import="javax.servlet.*"%>
- <%@ page import="java.io.IOException"%>
- <!--Import Google Icon Font-->
- <link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
- <!--Import materialize.css-->
- <link type="text/css" rel="stylesheet" href="css/materialize.min.css" media="screen,projection" />
- <!--Let browser know website is optimized for mobile-->
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
- <!-- JQUERY UI -->
- <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
- <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
- <script>
- $(document).ready(function() {
- // the "href" attribute of .modal-trigger must specify the modal ID that wants to be triggered
- $('.modal-trigger').leanModal();
- });
- $('.fixed-action-btn').openFAB();
- </script>
- <script type="text/javascript">
- function validateTitolo(event) {
- var $input = $(this);
- var isValid = $input.val().length > 0; //More than 5 characters required
- $input.addClass(isValid ? "valid" : "invalid");
- }
- $(document).ready(function() {
- $("#titolo").blur(validateTitolo);
- })
- function validateTesto(event) {
- var $input = $(this);
- var isValid = $input.val().length > 0; //More than 5 characters required
- $input.addClass(isValid ? "valid" : "invalid");
- }
- $(document).ready(function() {
- $("#testo").blur(validateTesto);
- })
- $(document)
- .ready(
- function() {
- // creazione delle note salvate sul server sulla pagina
- // per ritornare le varie note e creare una nota nel codice html per ogni nota trovata
- <%HttpSession sessione = request.getSession(); // prendo la sessione dalla risposta
- String utenteconnesso = (String) sessione.getAttribute("utente"); // dalla sessione prendo il valore della chiave accessCount , devo fare ilcast per farlo diventare un intero poiche sono tutti oggetti
- Connection con = null; // connection e la connessione con il database e per il momento non c'e null
- Statement stmt = null; // statament e l'oggetto per fare le richieste al database
- ResultSet result = null;
- try {
- // metodo per settare il driver usato per la connessione al database , in questo caso questa stringa e il driver per il database mysql
- Class.forName("com.mysql.jdbc.Driver");
- // ora setto la connesione con il server inserendo l'url del database e poi /nomedeldatabasecreato
- // tipo in mysql create database test cosi crea un database con il quale mi posso connettere
- //poi username e password del server mysql
- con = DriverManager.getConnection("jdbc:mysql://localhost:3306/Note", "root", "root");
- } catch (Exception e) {
- System.out.println(e);
- System.exit(0);
- }
- try {
- PreparedStatement pstmt = con
- .prepareStatement("select * from DatiNote where Nomeutente = ? order by Datamodifica DESC");
- pstmt.setString(1, utenteconnesso);
- result = pstmt.executeQuery();%>
- availableTags = [];
- indice = 0;
- <%// success ritorna il numero di aggiornamenti fatti per riga
- // se maggiore o uguale a uno ovvero non ha fallito
- while (result.next()) {
- // come se fosse if((result.getString("Nomeutente").equals(nomeutente)) && (result.getString("Pass").equals(passutente)))
- System.out.println("note trovate dell'utente " + utenteconnesso);
- String stringaxml = result.getString("filexml").replaceAll("\r\n|\r|\n", ""); // risolvo cosi il problema del ritorno a capo che dava problemi al parser
- String titolonota = result.getString("Titolo");
- String data = result.getString("Datamodifica");
- System.out.println(stringaxml);%>
- var date = "<%=data%>";
- var testoxml = '<%=stringaxml%>';
- // per vedere se la nota e condivisa ovvero se l'autore della nota e diverso dall'autore connesso
- var utentelogin = '<%=utenteconnesso%>';
- availableTags.push(new Object({
- value : "<%=titolonota%>",
- valore : indice
- }));
- parser = new DOMParser(); // creo un parser che usero per leggere la stringa xml
- xmlDoc = parser.parseFromString(testoxml, "text/xml"); // con il parser , parso la stringa passata come testo , e in modo particolare xml creando cosi un oggetto xml dom
- titolo = xmlDoc.getElementsByTagName("titolo")[0].childNodes[0].nodeValue; // xmldoc e l'oggetto xml appena creato quando abbiamo richiesto il file xml , con get... prendo tutti i nodi elementi il cui tag e title e di tutti questi prendo il primo (0)cmodo che trovo leggendo il file partendo dall'inizio , di questo devo accedere al suo testo quindi ho bisogno del suo figlio ovvero il text node quindi uso childNodes[0] e per prendere il valore del testo uso la proprieta nodeValue
- autore = xmlDoc.getElementsByTagName("nomeutente")[0].childNodes[0].nodeValue;
- testo = xmlDoc.getElementsByTagName("testo")[0].childNodes[0].nodeValue;
- var blocconote = '<div class="container"><div class="col s12 m6"><div class="card-content white-text"><div class="card blue-grey darken-1" id='+ indice + '><div class="modal-content"><div class="modal-header">'
- + '<button type="submit" class="close" data-dismiss="modal" aria-label="Close" data-toggle="modal" data-target="#alertelimina" data-whatever='+ indice + '>'
- + '<span aria-hidden="true">×</span></button>'
- + '<h4 class="card-title" ><p class ='+ indice + ' >'
- + titolo
- + '</p></h4></div>'
- + '<div class="modal-body"><p class ='+ indice + ' >'
- + testo
- + '</p></div>'
- + '<div class="modal-footer"> <p class =' + indice + ' >'
- + date + '</p></div></div>';
- blocconote += '<button type="button" class="btn btn-primary" data-dismiss="modal" aria-hidden="true" data-toggle="modal" data-target="#alertmodifica" data-whatever='+ indice + '> Modifica</button>';
- indice++;
- document.getElementById("note").innerHTML += blocconote;
- <%}
- result.close();
- con.close();
- pstmt.close();
- }
- catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- System.out.println("non ci sono note");
- }%>
- // utile per sapere quale bottone di quale nota e stata premuto tipo se ritorna 1 allora sara la nota con id 1 e riprendo i dati e li metto nel campo di modifica
- $('#alertmodifica').on('show.bs.modal', function (event) {
- var button = $(event.relatedTarget) // Button that triggered the modal
- var valore = button.data('whatever') // Extract info from data-* attributes
- // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
- // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
- var modal = $(this)
- modal.find("#titolo").val(document.getElementsByClassName(valore)[0].childNodes[0].nodeValue);
- modal.find("#testo").val(document.getElementsByClassName(valore)[1].childNodes[0].nodeValue);
- modal.find("#data").val(document.getElementsByClassName(valore)[2].childNodes[0].nodeValue);
- modal.find("#titoloprecedente").val(document.getElementsByClassName(valore)[0].childNodes[0].nodeValue);
- modal.find("#testoprecedente").val(document.getElementsByClassName(valore)[1].childNodes[0].nodeValue);
- })
- $('#alertelimina').on('show.bs.modal', function (event) {
- var button = $(event.relatedTarget) // Button that triggered the modal
- var valore = button.data('whatever') // Extract info from data-* attributes
- // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
- // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
- var modal = $(this)
- modal.find("#titolo").val(document.getElementsByClassName(valore)[0].childNodes[0].nodeValue);
- // modal.find("#testo").val(document.getElementsByClassName(valore)[1].childNodes[0].nodeValue);
- modal.find("#data").val(document.getElementsByClassName(valore)[2].childNodes[0].nodeValue);
- })
- // autocompletamento della ricerca con jquery ui
- $(function() {
- $("#tags")
- .autocomplete(
- {
- source : availableTags,
- select : function(event, ui) {
- var indice = ui.item.valore;
- var notatrovata = document
- .getElementById(indice).innerHTML;
- // potrei fare il primo figlio di trovata ma non funziona
- document
- .getElementById("poptrovata").innerHTML = notatrovata;
- $('#trovata').modal('show');
- }
- });
- });
- });
- //funzione per cancellare il popup di errore dopo 2 secondi
- function nascondipopuperrore() {
- $('#alerterrori').modal('hide');
- }
- //funzione per cancellare il popup di avviso dopo 2 secondi
- function nascondipopupavviso() {
- $('#alerconferme').modal('hide');
- }
- // funzioni per il controllo dati
- //una funzione per controllare il testo inserito usando l'oggetto form del document passando il nome del form e il nome dell'elemento soggetto all'analisi , quando si preme il tasto invio
- function controlloregistranote() {
- var titolocotrollo = document.forms["formregistranote"]["titolo"].value;
- var testocontrollo = document.forms["formregistranote"]["testo"].value;
- var testoavviso = null;
- // il form myform e l'elemento fname e di questo prendo il suo valore inseritov
- if (titolocotrollo == null || titolocotrollo == "") {
- // se il testo e null o vuoto da un alert
- document.getElementById("avviso").innerHTML = "Campo Titolo vuoto";
- $('#alerterrori').modal('show');
- setTimeout("nascondipopuperrore()", 2000);
- return false;
- // utile per dire che il testo era sbagliato
- }
- if (testocontrollo == null || testocontrollo == "") {
- // se il testo e null o vuoto da un alert
- document.getElementById("avviso").innerHTML = "Campo Testo vuoto";
- $('#alerterrori').modal('show');
- setTimeout("nascondipopuperrore()", 2000);
- return false;
- // utile per dire che il testo era sbagliato
- }
- }
- function controllomodificanote() {
- var titolocotrollo = document.forms["formmodificanote"]["titolo"].value;
- var testocontrollo = document.forms["formmodificanote"]["testo"].value;
- var testoavviso = null;
- // il form myform e l'elemento fname e di questo prendo il suo valore inseritov
- if (titolocotrollo == null || titolocotrollo == "") {
- // se il testo e null o vuoto da un alert
- document.getElementById("avviso").innerHTML = "Campo Titolo vuoto";
- $('#alerterrori').modal('show');
- setTimeout("nascondipopuperrore()", 2000);
- return false;
- // utile per dire che il testo era sbagliato
- }
- if (testocontrollo == null || testocontrollo == "") {
- // se il testo e null o vuoto da un alert
- document.getElementById("avviso").innerHTML = "Campo Testo vuoto";
- $('#alerterrori').modal('show');
- setTimeout("nascondipopuperrore()", 2000);
- return false;
- // utile per dire che il testo era sbagliato
- }
- }
- // per ritornare lo stato di avvenuta o no creazione , modifica e eliminazione e condivisione
- $(document)
- .ready(
- function() {
- <%String stato = (String) sessione.getAttribute("stato"); // dalla sessione prendo il valore della chiave accessCount , devo fare ilcast per farlo diventare un intero poiche sono tutti oggetti%>
- var testostato = "<%=stato%>";
- // siccome ho due avvisi , uno di giallo per errori e una verde per le conferme , se nello stato c'e la parola utente all'inizio allora siccuramente e un avviso mentre un tutti gli altri casi e una conferma
- var indice = testostato.indexOf("Utente");
- //maggiore di zero poiche e la posizione di dove inizia la parola utente dentro la frase siccome e all'inizio se c'e allora e zero
- if (indice >= 0) {
- document.getElementById("avviso").innerHTML = testostato;
- $('#alerterrori').modal('show');
- setTimeout("nascondipopuperrore()", 2000);
- // poi setto lo stato a null poiche l'avviso e gia spuntato
- <%sessione.setAttribute("stato", "");%>
- }
- else if (testostato != "" && testostato != "null") {
- document.getElementById("conferme").innerHTML = testostato;
- $('#alerconferme').modal('show');
- setTimeout("nascondipopupavviso()", 2000);
- // poi setto lo stato a null poiche l'avviso e gia spuntato
- <%sessione.setAttribute("stato", "");%>
- }
- })
- </script>
- </head>
- <!-- -------------------------------------------------------------------------BODY------------------------------------------------------------------------>
- <body>
- <!-- BARRA DI NAVIGAZIONE -->
- <ul id="dropdown1" class="dropdown-content">
- <li><a href="#!">Cucina</a></li>
- </ul>
- <nav>
- <div class="nav-wrapper">
- <a href="#!" class="brand-logo">Logo</a>
- <ul class="right hide-on-med-and-down">
- <li><a id="logout" href="logout">Logout</a></li>
- </ul>
- </div>
- </nav>
- <!-- BARRA DI RICERCA -->
- <div class="container">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="input-group input-group-lg">
- <span class="input-group-addon" id="sizing-addon1">Cerca</span> <input
- id="tags" type="text" class="form-control" placeholder="Titolo"
- aria-describedby="sizing-addon1">
- </div>
- </div>
- </div>
- </div>
- <!-- FINE BARRA DI RICERCA -->
- <!-- CONTENITORE NOTE -->
- <div class="row">
- <div class="col s12 m12" id="note" align="center"></div>
- </div>
- <!-- CONTENITORE NOTE -->
- <!-- registra nota -->
- <div class="modal fade" id="alertregistra" tabindex="-1" role="dialog"
- aria-labelledby="myModalLabel">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <form name="formregistranote" method="post" action="aggiunginota"
- onsubmit="return controlloregistranote();">
- <div class="modal-header">
- <h4 class="modal-title" id="myModalLabel">Creazione Nota</h4>
- </div>
- <div class="modal-body">
- <div class="form-group">
- <label for="niente">Titolo:</label>
- <input id="titolo" type="text" class="validate" name="titolo" placeholder="Inserisci Titolo">
- <label for="titolo" data-error="Errore" data-success=""></label>
- </div>
- <div class="form-group">
- <label for="niente2">Testo:</label>
- <textarea id="testo" class="required" rows="5" name="testo" placeholder="Inserisci Testo"></textarea>
- <label for="testo" data-error="Errore" data-success=""></label>
- </div>
- </div>
- <div class="modal-footer">
- <button type="submit" class="btn btn-primary">Crea</button>
- </div>
- </form>
- </div>
- </div>
- </div>
- <!-- BOTTONE AGGIUNGI NOTA -->
- <div class="fixed-action-btn" style="bottom: 45px; right: 24px;">
- <a data-target="alertregistra"
- class="btn-floating btn-large waves-effect waves-light red modal-trigger"><i
- class="material-icons">add</i></a>
- </div>
- <!-- FINE BOTTONE AGGIUNGI NOTA -->
- <!-- popup della nota trovata che riempio con i dati trovati e la mostro come popup -->
- <div class="modal fade" id="trovata" tabindex="-1" role="dialog"
- aria-labelledby="myModalLabel">
- <div class="modal-dialog" role="document" id="poptrovata"></div>
- </div>
- <!-- avviso per gli errori di input -->
- <div class="modal" id="alerterrori" tabindex="-1" role="dialog"
- aria-labelledby="myModalLabel">
- <div class="modal-dialog" role="document">
- <div class="alert alert-warning">
- <p id="avviso"></p>
- </div>
- </div>
- </div>
- <!-- avviso per azioni corretttamente effettuate -->
- <div class="modal fade" id="alerconferme" tabindex="-1" role="dialog"
- aria-labelledby="myModalLabel">
- <div class="modal-dialog" role="document">
- <div class="alert alert-success alert-dismissable">
- <strong id="conferme"></strong>
- </div>
- </div>
- </div>
- <script type="text/javascript"
- src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
- <script type="text/javascript" src="js/materialize.min.js"></script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement