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

    [Struts 1.3.8] utilizzo del tag <html:optionscollection>

    prima di tutto, salve a tutti.
    Devo popolare una select usando struts. Le varie options sono contenute dentro un List di oggetti. Questi oggetti hanno due proprietà: id e title. Come posso renderizzare questa lista usando i tag di Struts?

    vi posto la pagina jsp che mostra come ho recuperato la lista e la form bean associata alla form costruita con struts:

    codice:
    package it.dpp.cd.forms;
    
    import javax.servlet.http.*;
    import org.apache.struts.action.*;
    import java.util.List;
    
    public class DeleteCDForm extends ActionForm {
    	
    	private String toBeDeleted;
    	private String id;
    	private String title;
    	private List list;
    	
    	public String getToBeDeleted() {
    		return this.toBeDeleted;
    	}
    	
    	public void setToBeDeleted(String toBeDeleted) {
    		this.toBeDeleted = toBeDeleted;
    	}
    	
    	public String getId() {
    		return this.id;
    	}
    	
    	public void setId(String id) {
    		this.id = id;
    	}
    	
    	public String getTitle() {
    		return this.title;
    	}
    	
    	public void setTitle(String title) {
    		this.title = title;
    	}
    	
    	public List getList() {
    		return this.list;
    	}
    	
    	public void setList(List list) {
    		this.list = list;
    	}
    
    }
    e la pagina jsp:

    codice:
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1" import="it.dpp.cd.dao.CDDao" import="java.util.*" import="it.dpp.cd.entities.CD"%>
    <%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Cancella CD</title>
    </head>
    <body>
    <h1>Cancella CD</h1><hr>
    <%
    	List list = CDDao.searchCD("");
    %>
    <html:form action="/delete.do">
    Seleziona il CD da cancellare: 
    <html:select property="toBeDeleted">
    	
    </html:select><html:submit />
    </html:form>
    annulla
    </body>
    </html>
    Spero che qualcuno mi possa dare una mano...

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    120
    Devi fare una cosa del genere:

    codice:
     <html:select name="nomeForm" property="elementoSelezionato" >   
          <html:optionsCollection name="beanCollezione" property="oggettoDelBean" value="codice" label="descrizione"/>
      	</html:select>
    ovviamente l'oggetto che selezioni non deve essere un tipo primitivo ma un oggetto complesso dotato di codice e descrizione: il primo è quello che viene selezionato, la descrizione è quella che viene fatta vedere nella select.

    La lista ti conviene, forse, caricarla sul bean dentro la action che poi arriva a quella pagina e non dentro alla jsp, per tenere separata la visualizzazione dal controllo (pattern MVC)

  3. #3
    Quindi dovrei creare un bean che contiene la lista di oggetti? E come la istanzio una volta sulla pagina, poichè a quella pagina si arriva da link e quindi non c'è nessuna action che fa arrivare a quella pagina?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.