Last sub-explanation:

The reason the forwarding must be dynamic and not configured in an xml file 
is that the html and swf files are all created and destroyed dynamically 
with client purchases and expiration dates.

Micael

>Date: Tue, 23 Apr 2002 08:35:04 -0700
>To: [EMAIL PROTECTED]
>From: Micael Padraig Og mac Grene <[EMAIL PROTECTED]>
>Subject: Fwd: Re: Images and STRUTS: Craig
>
>The forwarding for this application, further, must be dynamic.
>
>
>>To: [EMAIL PROTECTED]
>>From: Micael Padraig Og mac Grene <[EMAIL PROTECTED]>
>>Subject: Fwd: Re: Images and STRUTS: Craig
>>
>>
>>>Date: Tue, 23 Apr 2002 08:15:48 -0700
>>>To: [EMAIL PROTECTED]
>>>From: Micael Padraig Og mac Grene <[EMAIL PROTECTED]>
>>>Subject: Fwd: Re: Images and STRUTS: Craig
>>>
>>>I have looked at this and have researched the area, Craig, and I have a 
>>>simple question, I think.  The suggested solution involving extension 
>>>mapping is the default behavior of struts, is it not?
>>>
>>>At least the standard servlet mapping that came with structs in my case is:
>>>
>>>
>>>   <!-- Standard Action Servlet Mapping -->
>>>   <servlet-mapping>
>>>     <servlet-name>action</servlet-name>
>>>     <url-pattern>*.do</url-pattern>
>>>   </servlet-mapping>
>>>
>>>
>>>Essentially what I want to do is the following: access html pages which 
>>>reference .swf (Flash) files (templates) with relative references, e.g., 
>>>template1.swf, holding arrays of other .swf files (photos) which all 
>>>have relative references to the same directory by default, e.g. 
>>>photo1.swf, photo2.swf, photo3.swf, etc.  I want to forward to the html 
>>>pages through the controller and the ActionForward functionality in 
>>>order to preserve security and other matters.  But, my html pages are 
>>>not seeing the template pages.  I can solve that by using relative 
>>>references in the html pages, but not in the Flash template.swf 
>>>pages.  So, what to do?
>>>
>>>Why won't the relative references work when the default mapping is to 
>>>the extension *.do?
>>>
>>>Micael
>>>
>>>
>>>>Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm
>>>>List-Unsubscribe: <mailto:[EMAIL PROTECTED]>
>>>>List-Subscribe: <mailto:[EMAIL PROTECTED]>
>>>>List-Help: <mailto:[EMAIL PROTECTED]>
>>>>List-Post: <mailto:[EMAIL PROTECTED]>
>>>>List-Id: "Tomcat Users List" <tomcat-user.jakarta.apache.org>
>>>>Reply-To: "Tomcat Users List" <[EMAIL PROTECTED]>
>>>>Delivered-To: mailing list [EMAIL PROTECTED]
>>>>Date: Wed, 3 Apr 2002 10:12:36 -0800 (PST)
>>>>From: "Craig R. McClanahan" <[EMAIL PROTECTED]>
>>>>To: Tomcat Users List <[EMAIL PROTECTED]>
>>>>Subject: Re: Images and STRUTS
>>>>X-Spam-Rating: localhost 1.6.2 0/1000/N
>>>>X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N
>>>>
>>>>
>>>>
>>>>On Tue, 2 Apr 2002, Micael Padraig Og mac Grene wrote:
>>>>
>>>> > Date: Tue, 02 Apr 2002 22:29:28 -0800
>>>> > From: Micael Padraig Og mac Grene <[EMAIL PROTECTED]>
>>>> > Reply-To: Tomcat Users List <[EMAIL PROTECTED]>
>>>> > To: [EMAIL PROTECTED]
>>>> > Subject: Images and STRUTS
>>>> >
>>>> > I tried to do an ordinary image tag with the struts application, and 
>>>> could
>>>> > not.  What is happening with that?  I could not get the index.jsp 
>>>> page to
>>>> > reference an image in the same location.  I used the same page without
>>>> > struts, and it worked.  I am just getting the clue on struts.  I am
>>>> > familiar with the whole of Model 2 architectures, just not 
>>>> struts.  Is it
>>>> > the forwarding mechanism that is calling the problem?
>>>>
>>>>You probably want to ask this sort of question on the STRUTS-USER list
>>>>instead of here, but here's a common scenario that can cause Struts users
>>>>(or anyone else using an architecture that uses RequestDispatcher.forward)
>>>>grief:  if you are using relative path references for your images, those
>>>>paths get resolved against the request URI that the browser submitted to
>>>>-- not the URI of the page itself.  This is because the browser has no
>>>>clue that a RequestDispatcher.forward() call was done on the server side.
>>>>
>>>>Example:
>>>>
>>>>- Your app is installed at "http://localhost:8080/myapp";
>>>>
>>>>- You have a main page "index.jsp", which therefore has the absolute URI
>>>>   "http://localhost:8080/myapp/index.jsp";.
>>>>
>>>>- You have an image in an "images" subdirectory, which therefore has the
>>>>   absolute URI "http://localhost:8080/myapp/images/logo.gif";.
>>>>
>>>>- You have Struts set up to use path based mapping to the controller
>>>>   servlet, so you get URIs like 
>>>> "http://localhost:8080/myapp/do/getCustomer";
>>>>   in it (to execute the "getCustomer" action).
>>>>
>>>>Now, consider what happens if you have the following tag in index.jsp:
>>>>
>>>>   <img src="images/logo.gif">
>>>>
>>>>and you execute "http://localhost:8080/myapp/do/mainMenu";.  This fails to
>>>>retrieve the image.  Why?  Because the *browser* is the one that resolves
>>>>the absolute URI of the image -- and it resolves it against the URI that
>>>>it submitted for this request:
>>>>
>>>>   http://localhost:8080/myapp/do/images/logo.gif
>>>>
>>>>which is obviously wrong.  Ways to get around this:
>>>>
>>>>- (Struts-specific) Use extension mapping instead of path mapping
>>>>   for the controller.  Then, all requests and pages are in the same
>>>>   "directory level" and relative references work as expected.
>>>>
>>>>- (Struts-specific) Use the <html:base/> tag in the <head> section
>>>>   of your index.jsp page.  This creates an HTML <base> tag that tells
>>>>   the browser to base relative references on *this* page, instead of
>>>>   the request URI of the submit.
>>>>
>>>>- (Struts-specific) Use the Struts <html:img> tag instead, which knows
>>>>   all about this problem and generates the correct URI automatically.
>>>>
>>>>- (General) Use a relative path like "../images/logo.gif" to convince
>>>>   the browser to do the path correctly.
>>>>
>>>>- (General) Include your own <base> tag to tell the browser what the
>>>>   absolute URL of this page is.
>>>>
>>>> >
>>>> > Micael
>>>> >
>>>>
>>>>Craig
>>>>
>>>>
>>>>--
>>>>To unsubscribe:   <mailto:[EMAIL PROTECTED]>
>>>>For additional commands: <mailto:[EMAIL PROTECTED]>
>>>>Troubles with the list: <mailto:[EMAIL PROTECTED]>



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

Reply via email to