Jim,

I think I see your problem: The getDataSource() method is only available in
an Action, not in a Controller.  You could mix the two and make your action
subclass a TilesAction.  That would give you access to a merging of both
worlds: Action and Controller.  For more details, you could read Tiles
Advanced Features by Cedric Dumoulin in PDF at:
http://www.lifl.fr/~dumoulin/tiles/tilesAdvancedFeatures.pdf (from the
resources section of the Tiles developer guide.

Regards,
David

-----Original Message-----
From: Jim Douglas [mailto:[EMAIL PROTECTED]
Sent: Saturday, December 18, 2004 11:23 AM
To: [EMAIL PROTECTED]
Subject: Tiles controller


I have problems compiling when I move code from an Action to a Tiles
Controller

The line that won't compile is,
        DataSource dataSource = getDataSource(request, "userDB");

..and the error message is

RetrieveFormController.java:110: cannot find symbol
symbol : method getDataSource(javax.servlet.http.HttpRequest,
java.lang.String)
location: class app.model.RetrieveFormController
                 DataSource datasource = getDataSource(request, "userDB");


This is the code from the Action,

package app.web;

import app.model.*;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

import java.io.IOException;
import java.util.Hashtable;
import java.util.Locale;
import java.util.List;
import java.util.ArrayList;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.DataSource;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.util.MessageResources;

public final class RetrieveFormAction extends Action {
    private final static Logger log =
Logger.getLogger(RetrieveFormAction.class);
    String sTemp ="";

    public ActionForward execute(ActionMapping mapping,
                                 ActionForm form, HttpServletRequest
request,
                                 HttpServletResponse response)
                                 //throws IOException, ServletException {
                                 throws Exception {
        log.info("RetrieveFormAction.CLASS - 1");
        List formList = new ArrayList(50);
        log.info("RetrieveFormAction.CLASS - 2");

        String userName = "t";
        DataSource dataSource = getDataSource(request, "userDB");

...and this is the codefrom the Tiles Controller,

package app.model;

import org.apache.struts.tiles.beans.MenuItem;
import org.apache.struts.tiles.beans.SimpleMenuItem;
import org.apache.struts.tiles.Controller;
import org.apache.struts.tiles.ComponentContext;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

//import javax.naming.*;

import java.io.IOException;

import java.util.Hashtable;
import java.util.Locale;
import java.util.List;
import java.util.ArrayList;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
//import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.util.MessageResources;

public class RetrieveFormController implements Controller {

        private final static Logger log =
Logger.getLogger(RetrieveFormController.class);
        String sTemp ="";
        public void execute(
                ComponentContext tileContext,
                HttpServletRequest request,
                HttpServletResponse response,
                ServletContext servletContext)
                throws Exception {

                List formList = new ArrayList(50);

                String userName = "t";

                DataSource dataSource = getDataSource(request, "userDB");

What is wrong with the datasource in the Tiles Controller?

Thanks,
Jim



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


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

Reply via email to