<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