Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/01/2010, 13:21
taar
 
Fecha de Ingreso: diciembre-2001
Ubicación: Asuncion
Mensajes: 143
Antigüedad: 22 años, 10 meses
Puntos: 1
Respuesta: como cargar el atributo list de un select con Struts2

Veamos:

Listado.java
Código Javascript:
Ver original
  1. import java.util.ArrayList;
  2. import java.util.List;
  3.  
  4. public class Listado {
  5.     private List<String> lista;
  6.  
  7.     public List<String> getLista() {
  8.         return lista;
  9.     }
  10.    
  11.     public String execute()
  12.     {
  13.         lista = new ArrayList<String>();
  14.         lista.add("Item 1");
  15.         lista.add("Item 2");
  16.         lista.add("Item 3");
  17.         lista.add("Item 4");
  18.         lista.add("Item 5");
  19.         return "success";
  20.     }
  21. }

struts.xml
Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  4. "http://struts.apache.org/dtds/struts-2.0.dtd">
  5. <struts>
  6.     <package name="default" extends="struts-default">
  7.          <action name="Listado" class="Listado">
  8.              <result name="input">index.jsp</result>
  9.              <result>index.jsp</result>
  10.          </action>
  11.     </package>
  12. </struts>

index.jsp
Código HTML:
Ver original
  1. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  2. <%@taglib prefix="s" uri="/struts-tags"%>
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  4.   "http://www.w3.org/TR/html4/loose.dtd">
  5.  
  6.     <head>
  7.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8.         <title>Listado</title>
  9.     </head>
  10.     <body>
  11.         <s:form>
  12.             <s:select list="lista" label="Listado"/>
  13.             <s:submit value="Enviar"/>
  14.         </s:form>
  15.     </body>
  16. </html>

El tag <s:select/> tambien puede ser rellanado directamente usando "hardcode":
Código HTML:
Ver original
  1. <s:select list="#{'01':'Jan', '02':'Feb'}" label="Listado con clave/valor"/>
  2. <s:select list="{'Item1', 'Item2', 'Item3'}" label="Listado con valores"/>

Espero que te sirva