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

    [J2EE/JEE] dipanare il bandolo della matassa con JSF

    Ciao,

    per esercizio ho una semplicissima applicazione da fare su 3 pagine JSP tramite JSF.

    prima pagina: un link alla seconda pagina.

    seconda pagina: una combobox con i valori caricati da un primo MockObject (una lista di stringhe) e un tasto avanti che passa alla terza pagina.

    terza pagina: una tabella che mi visualizzi una serie di dati, estrapolati da un secondo MockObject valorizzato usando il valore della precedente selezione su combobox.



    Beh.. io riesco a fare correttamente primo e secondo punto... ma mi manca un "elemento" per completare il terzo...
    In che modo utilizzo il valore ricavato dal combobox per valorizzare il secondo MockObject?
    E quindi.. In che modo deve essere fatto questo MockObject, per essere valorizzato?

    ???


    PS: per MockObject intendo una classe che faccia "finta" di essere un MODEL (del pattern MVC) e quindi contiene i dati che altrimenti dovrebbero essere reperiti da un altra fonte (un DB per esempio).

  2. #2
    questo è il codice del primo MockObject

    Codice PHP:
    package it.esame.models;

    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.List;

    public class 
    MockSelectModel implements IRSelectModel
    {
        public 
    Collection<StringgetBeneficiario()
        {
            List<
    Stringtipologie = new ArrayList<String>();

            
    tipologie.add("Clienti");
            
    tipologie.add("Fornitori");
            
    tipologie.add("Dipendendi");
            
    tipologie.add("Dirigenti");
            
    tipologie.add("Fisco/Regione");

            return 
    tipologie;
        } 

    e la sua interfaccia

    Codice PHP:
    package it.esame.models;
    import java.util.Collection;

    public interface 
    IRSelectModel {
        public 
    Collection<StringgetBeneficiario();


  3. #3
    questa è la pagina JSP/jsf dove visualizzo il primo MockObject su combobox e poi dovrei utilizzare
    Codice PHP:

    <%@page contentType="text/html" pageEncoding="UTF-8"%>

    <%@
    taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@
    taglib prefix="h" uri="http://java.sun.com/jsf/html"%>

    <!
    DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd"
    >

    <
    f:view>
        <
    html>
            <
    head>
                <
    meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
                <
    title>Select Page</title>
            </
    head>
            <
    body>
                <
    h1><h:outputText value="Seleziona il Tipo di Beneficiario"/></h1>
                <
    h:form>
                    <
    h:selectOneMenu id="combobox" value="#{??????}">
                        <
    f:selectItems value="#{SelectModel.beneficiario}" />
                    </
    h:selectOneMenu>
                    


                    <
    h:commandButton value="Consulta" action="success" />
                    <
    h:commandButton value="Esci" action="failure" />
                </
    h:form>
            </
    body>
        </
    html>
    </
    f:view
    ovviamente sul faces-config.xml c'è la descrizione di SelectModel
    Codice PHP:
      <managed-bean>
        <
    managed-bean-name>SelectModel</managed-bean-name>
        <
    managed-bean-class>it.ex.models.MockSelectModel</managed-bean-class>
        <
    managed-bean-scope>session</managed-bean-scope>
      </
    managed-bean

  4. #4
    boh... dovrò ripetere un mock? creo un Bean e lo valorizzo aggiungendo un metodo oltre ai getter/setter?

  5. #5
    ho fatto.

    Ho risolto creando un Bean ad hoc nel quale creare la List<PrimaNota>.

    Poi (e questo è relativo a JSF) mi mancava un "pezzo" per istruire i tag che costruiscono la tabella con i valori di ogni campo dell oggetto List<PrimaNota>.
    In quanto io credevo di avere in mano solo l'oggetto e NON i suoi metodi (Bean PrimaNota).

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.