Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Aiutoooo....menù dinamico

    Ciaoooo!!! Sto cercando di realizzare un menu in una pagina jsp: è composto da due form, uno che indirizza ad una servlet che gestisce un magazzino e l'altro che indirizza ad una servlet che gestisce l'inserimento di ordini nel DB.
    Il problema è che vorrei fare in modo che in base al tipo di utenza inserito nella pagina di login(Magazziniere o Cliente) compaia o l'uno o l'altro form.

    Per spiegarmi meglio: se sono un cliente, mi deve comparire la table contente gli input type text che mi consentono di inserire l'ordine, altrimenti se sono magazziniere mi deve comparire la form che contiene i pulsanti che mi permettono di gestire il magazzino (cancellazione di ordini evasi, calcolo delle mancanze....).

    Quello che però mi crea problemi è che non posso utilizzare javascript per farlo, ma devo inserire nella jsp esclusivamente codice java...e non riesco a trovare esempi che mi aiutino!!!

    PS: Naturalmente mi è stato vietato anche di fare due jsp distinte!!!

    Grazie
    Niki

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Ciao.
    Innanzitutto, prendi visione del Regolamento interno: i titoli devono essere ben costruiti per consentire una migliore individuazione del problema.

    Inoltre va specificata la tecnologia usata (in questo caso JSP), anche se è lasciata ampia libertà per quanto riguarda Java, di cui il forum tratta.

    Non ho ben capito quale sia il problema. Alla login puoi creare un tuo bean "Utente", ad esempio, che ti dà l'informazione che ti interessa (il tipo di utente).

    Nella JSP, in base al valore della proprietà del bean, visualizzerai qualcosa.

    Supponendo, quindi, che tu abbia in sessione il tuo bean "Utente", chiamato "utente":

    codice:
    <%-- Nell'esempio faccio uso di JSTL --%>
    <c:if test="${utente.cliente}">
       <%-- Qui ci metti ciò che devi visualizzare per l'utente di tipo "cliente" --%>
    </c:if>
    <c:if test="${utente.magazziniere}">
       <%-- Qui ci metti ciò che vuoi visualizzare per l'utente di tipo "magazziniere" --%>
    </c:if>
    Un banalissimo esempio del bean "Utente":

    codice:
    public class Utente implements Serializable {
       ...
       private int tipoUtente;
       ...
       public boolean isCliente() { return (tipoUtente == 0); }
       public boolean isMagazziniere() { return (tipoUtente == 1); }
       ...
    }
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Innanzitutto mi scuso per non aver costruito bene il titolo della discussione....provvederò nelle prossime!!!

    Questo tag <c:> </c> non lo conosco....me lo potresti spiegare gentilmente???
    Sono alle prime armi con Java e WebApplication.

    A me hanno insegnato ad usare <% %> per utilizzare il codice Java all'interno della jsp.

    Grazie!!!

    Niki

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Fanno parte della JSTL: JavaServer Pages Standard Tag Library.
    Una libreria standard di Java per le JSP, automaticamente inclusa con il JEE.

    Qui trovi la Documentazione delle API.

    Per poter usare quei tag, è sufficiente includere all'inizio della pagina JSP, la libreria:

    codice:
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    Ma, come già detto, puoi fare tutto anche con il vecchio script Java (che sarebbe bene evitare nelle JSP, perchè rende la JSP poco leggibile e tende a portare il programmatore a non separare correttamente la logica di business dalla presentation).

    codice:
    <%
    Utente u = (Utente) session.getAttribute("utente");
    if ( u.isCliente() ) {
    %>
    
    [codice HTML da visualizzare per i clienti]
    
    <%
    }
    
    if ( u.isMagazziniere() ) {
    %>
    
    [codice HTML da visualizzare per i magazzinieri]
    
    <%
    }
    %>
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Ok grazie mille!!!!!
    Niki

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.