Ummm, i apologize.....I made a very simple mistake:

<s:select name="database" list="databases" listKey="id"
listValue="database" "emptyOption="true"></s:select>

I put an extra " in the select tag.
 

On Wed, 2007-09-12 at 14:35 -0700, Randall Svancara wrote:
> <SORRY, I SENT THIS TOO EARLY>
> 
> I mostly have experience with original struts.  But now I am attempting
> to use Struts 2.  I am trying to figure out how I can populate the
> select tag.
> 
> I have created an action class, called Blast with the following
> attributes:
> 1. List<Database> databases = new ArrayList();
> 
> There are two methods, getDatabases and setDatabases 
> 
> I have created another class called Database with the following
> attributes: 
> 1. int id
> 2. String database
> 3. String databasetype
> 
> I want to use the select tag to access the List of Database objects in
> the action class Blast.java
> 
> This is how I am using the action class:
> 
> <s:select name="database" list="databases" listKey="id"
> listValue="database" "emptyOption="true"></s:select>
> 
> As you can see, I specify the list equal to databases which should
> correspond to getDatabases in my action class, Blast.  My listKey is
> equal to id, which should correspond to the id field in my Database
> class.  And finally, listValue should correspond to database in my
> Database class.
> 
> My jsp page fails to compile/execute giving errors like:
> 
> /view/Index.jsp(55,87) Unterminated &lt;s:select tag
> 
> or 
> 
> org.apache.jasper.JasperException: Unable to load class for JSP
> 
> I am including copies of the files in case someone is kind enough to
> help a pathetic newbie out with this.
> 
> <BLAST.Java>
> mport java.io.File;
> import java.util.ArrayList;
> import java.util.Collections;
> import java.util.Date;
> import java.util.HashMap;
> import java.util.List;
> import java.util.Map;
>  
> import org.apache.struts2.ServletActionContext;
>  
> import com.opensymphony.xwork2.ActionSupport;
> import com.opensymphony.xwork2.Validateable;
> import com.opensymphony.xwork2.util.ValueStack;
> 
> import edu.wsu.bioinfo.domain.Database;
> 
> import org.apache.log4j.Logger;
> 
> public class Blast extends MainLabSupport {
>         
>         static final long serialVersionUID=1L;
>         private static Logger logger = Logger.getLogger(Blast.class);
>         
>         
>         private String title;
>         private String emailaddress;
>         private String database;
>         private List<Database> databases = new ArrayList();
>         
>         // Default Constructor
>         public Blast(){
>           
>           Database db1 = new Database(1, "NCBI Fragaria EST", "EST");
>           Database db2 = new Database(2, "NCBI Malus EST", "EST");
>           Database db3 = new Database(3, "NCBI Prunus EST", "EST");
>           this.databases.add(db1);
>           this.databases.add(db2);
>           this.databases.add(db3);
>           
>         }
>         
>         
>     public String execute() throws Exception {
> 
> 
>         
>         
>         return INPUT;
>     }
> 
> 
>         /**
>          * @return the title
>          */
>         public String getTitle() {
>                 return title;
>         }
> 
> 
>         /**
>          * @param title the title to set
>          */
>         public void setTitle(String title) {
>                 this.title = title;
>         }
> 
> 
>         /**
>          * @return the emailaddress
>          */
>         public String getEmailaddress() {
>                 return emailaddress;
>         }
> 
> 
>         /**
>          * @param emailaddress the emailaddress to set
>          */
>         public void setEmailaddress(String emailaddress) {
>                 this.emailaddress = emailaddress;
>         }
> 
> 
>         /**
>          * @return the database
>          */
>         public String getDatabase() {
>                 return database;
>         }
> 
> 
>         /**
>          * @param database the database to set
>          */
>         public void setDatabase(String database) {
>                 this.database = database;
>         }
> 
> 
>         /**
>          * @return the databases
>          */
>         public List<Database> getDatabases() {
>                 return databases;
>         }
> 
> 
>         /**
>          * @param databases the databases to set
>          */
>         public void setDatabases(List<Database> databases) {
>                 this.databases = databases;
>         }
> 
> }
> 
> 
> <Database.java>
> 
> public class Database {
>       
>       private int databaseid;
>       private String database;
>       private String databasetype;
>       
>       
>       /**
>        * Default Constructor
>        */
>       public Database(){
>               
>       }
>       
>       /**
>        * Constructor with parameters
>        * @param databaseid
>        * @param database
>        * @param databasetype
>        */
>       public Database(int databaseid, String database, String databasetype){
>               this.databaseid = databaseid;
>               this.database = database;
>               this.databasetype = databasetype;
>       }
>       
>       /**
>        * @return the databaseid
>        */
>       public int getDatabaseid() {
>               return databaseid;
>       }
>       /**
>        * @param databaseid the databaseid to set
>        */
>       public void setDatabaseid(int databaseid) {
>               this.databaseid = databaseid;
>       }
>       /**
>        * @return the database
>        */
>       public String getDatabase() {
>               return database;
>       }
>       /**
>        * @param database the database to set
>        */
>       public void setDatabase(String database) {
>               this.database = database;
>       }
>       /**
>        * @return the databasetype
>        */
>       public String getDatabasetype() {
>               return databasetype;
>       }
>       /**
>        * @param databasetype the databasetype to set
>        */
>       public void setDatabasetype(String databasetype) {
>               this.databasetype = databasetype;
>       }
> 
> }
> 
> <Index.jsp>
> 
> <s:form action="index" enctype="multipart/form-data"> 
>     <table>
>       <tr>
>         <td>
>           Search Title:
>         </td>
>         <td>
>           <s:textfield name="title" size="50"></s:textfield>
>         </td>
>       </tr>
>       <tr>
>         <td>
>           Email Address:
>         </td>
>         <td>
>           <s:textfield name="email" size="50"></s:textfield>
>         </td>
>       </tr>
>       <tr>
>         <td>
>           Database:
>         </td>
>         <td>
>            
>           <s:select name="database" list="databases" listKey="id"
> listValue="database" "emptyOption="true"></s:select>
>         </td>
>       </tr>
>     </table>
>     <div class="tabber">     
>       <div class="tabbertab">
>         <h2>Upload File</h2>
>         File: <s:file name="testfile" size="50"></s:file>
>       </div>
>       <div class="tabbertab">
>         <h2>Cut and Paste</h2>
>               Paste Sequence into Text Area:<br />
>         <s:textarea tooltip="Cut and Past your sequence" cols="80"
> rows="8"  name="sequence" label="Sequence">
>         </s:textarea>
>       </div>
>       
>       <s:select name="searchBy" list="#{'01':'Begins with',
> '02':'Contains', '03':'Equals'}" />
>     </div>
> 
> 
> <s:submit  />
> <s:reset />
> 
> </s:form>
> 
> 
> <End of Transmission>
> 
> 
> On Wed, 2007-09-12 at 14:27 -0700, Randall Svancara wrote:
> > user@struts.apache.org
-- 
Randall Svancara
System Administrator
Horticulture and Landscape Architecture
509-335-7093

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to