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]