[mapguide-users] RE: Question about map.Create and map.Open() on the mapframe

Scott Reisdorf reisdorf1 at llnl.gov
Thu Dec 7 11:13:45 EST 2006


I am using the Spring framework on top of the jsp page as the controller 
mechanism.  Before hitting the jsp page, the url accesses the Spring 
controller which sets up the mgSessionId for the MapGuide session.
My application has a HttpSession object that holds the mgSessionIds for 
the user.  If there is a mgSessionId in the HttpSession object, the 
controller knows the user has already accessed the map before so instead 
of doing a site.CreateSession(), it will instead use the mgSessionId 
stored in the HttpSession object.

I need this behavior because I have a mapping application that spans two 
maps.  The user clicks on objects in Map1 and it will take them to Map2, 
and then back.  I wanted the user to still obtain their session from Map 
1 when the jump back and forth between maps.  Doing this I dont need to 
modify the mainframe.jsp page, and the additionally logic/code is all in 
my own controller java class that I have control over.

-scott


Chris Gountanis wrote:
> What we do in Coldfusion is set a session variable that can be 
> accessed server side anytime. That and the MapName is the only 
> variables needed for a successful viewer hack. The rest can be passed 
> as URL query string. Sure the concept is the same in JSP. Anyone know 
> if there is a fprint equivalent in Coldfusion so we can use the 
> templates more effectively?
>  
> --
> Chris
>  
>
> *From:* Trevor Wekel [mailto:trevor.wekel at autodesk.com]
> *Sent:* Wednesday, December 06, 2006 7:55 PM
> *To:* Scott Reisdorf; users at mapguide.osgeo.org
> *Subject:* [mapguide-users] RE: Question about map.Create and 
> map.Open() on the mapframe
>
> Hi Scott,
>  
> mapframe.jsp should only be called when a complete refresh of the page 
> is requested by the browser.  The page refresh was intended to get a 
> new copy of the map so the Create() call is appropriate.  If a user 
> wants to refresh just the map pane they can right click in the pane 
> and hit refresh.  A Refresh Icon can also be added to the WebLayout 
> toolbar.
>  
> User sessions were not intended to go beyond the lifetime of the 
> browser session.  Certainly it is possible to do as you have found out 
> with modifying mapframe.jsp.  Just out of curiosity, how did you get 
> around the CreateSession() in mainframe.jsp?
>  
> Thanks,
> Trevor
>
> *From:* Scott Reisdorf [mailto:scottreisdorf at hotmail.com]
> *Sent:* Friday, December 01, 2006 9:26 AM
> *To:* users at mapguide.osgeo.org
> *Subject:* Question about map.Create and map.Open() on the mapframe
>
> All,
> I have a questions about loading a map from a saved MgSession.  I 
> also think there is a possible bug in the mapframe.jsp page that 
> prevents the page from loading a map saved in an open MgSession
>
> In the mapframe.jsp the page always calls map.Create() forcing a new 
> Map to be drawn, even if the calling Session already has a Map object 
> associated to it with the same name.  Shouldn't the mapframe.jsp page 
> do a check to see if the map has been created to the calling MgSession 
> and call a map.Open() rather then a map.Create() so that the map will 
> have the proper layers saved in the users session?
>  
> I want to have the users map and dynamic layers persist throughout 
> their MgSession, but with the current code when the users accesses the 
> main page it always creates a new map (map.Create()), rather then 
> doing a check and a map.Open().   When I changed this code, the 
> application performs as expected and loads in the proper map for the 
> users MgSession. 
>  
> Any help is much appreciated.
>  
> Thanks,
> -scott
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapguide-users/attachments/20061207/8d1a6aab/attachment.html


More information about the Mapguide-users mailing list