If you had the time Erik would you explain your method of arranging JSPs by the actor, 
seemed a beautiful approach. 

-----Original Message-----
From: Erik Weber [mailto:[EMAIL PROTECTED]
Sent: Thursday, July 22, 2004 1:16 AM
To: Struts Users Mailing List
Subject: Re: Tag question


Sorry if this post repeats -- I find that occasionally they are not 
making it . . .



Jim, "actor" is precisely what I meant!

It goes /context/controller/actor/usecase (in my case)

Sorry I didn't say that correctly.

But as you point out, I think it doesn't change the point of
the post, that I need to manually make sure the name of the controller
servlet gets into the hyperlinks.

I wonder if a mapping of "/services" work better than "/services/*". 
Haven't tried that . . .

Thanks,
Erik



Jim Barrows wrote:

>  
>
>>-----Original Message-----
>>From: Erik Weber [mailto:[EMAIL PROTECTED]
>>Sent: Wednesday, July 21, 2004 11:32 AM
>>To: Struts Users Mailing List
>>Subject: Re: Tag question
>>
>>
>>Sorry, I should have explained better what I am doing.
>>
>>My controller Servlet is mapped to /services/*
>>
>>All requests for JSP pages go through the controller, via action 
>>mappings. The actions have paths like:
>>
>>/usecase/view_edit_page
>>/usecase/save_existing_record
>>/usecase/view_add_page
>>/usecase/add_new_record
>>
>>So the full links look like:
>>
>><context>/services/usecase/view_edit_page
>>
>>meanhwhile other resources have paths like:
>>
>><context>/images/some_image.gif
>>
>>This keeps other resources out of the scope of the controller (and 
>>perhaps into the scope of some other servlet). Also, direct 
>>JSP access 
>>is prohibited.
>>
>>So in places where I am building hyperlinks (within JSPs), I 
>>need to get 
>>"/services" into each link, in front of the action URI, but 
>>behind the 
>>context. And I want to do this in a portable way (in case the Servlet 
>>mapping changes).
>>    
>>
>
>If you use html:link and forwards then you can do whatever you want, and won't have 
>to change the links themselves.  This would be pretty portable as well.
>
>  
>
>>So the idea is to put something like <html:rewrite 
>>page="${controller_path}<action_URI_here>"> which literally would be 
>>"/services" + "/usecase/action" or 
>>"/services/usecase/action". Using the 
>>"page" attribute to the tag makes it come out right 
>>("/context/services/usecase/action").
>>
>>(When I say "usecase" here I really should say "collection of 
>>usecases" 
>>or "function group" to be more accurate).
>>
>>I would be interested in hearing other mapping strategies. 
>>    
>>
>
>I map jsp and directories by actor rather then use case, or use case package.  Makes 
>everything easier (especially declaritive security, then again I've kept the *.do 
>mapping, rather then what you're doing.
>That would make your url something like services/actor/useCase, which doesn't get 
>around your problem.
>
>  
>
>>For now I'm 
>>making sure the JSP can call a method or access a variable 
>>that returns 
>>"/services".
>>
>>Erik
>>
>>
>>
>>Christian D Hahn wrote:
>>
>>    
>>
>>>Are you mapping the jsp to /services in the web.xml? if you do, 
>>>getServletPath should return the path you are looking for.
>>>
>>><servlet>
>>><servlet-name>jsp</servlet-name>
>>><jsp-file>/usecase/page.jsp</jsp-file>
>>></servlet>
>>>
>>><servlet-mapping>
>>><servlet-name>jsp</servlet-name>
>>><url-pattern>/services</url-pattern>
>>></servlet-mapping>
>>>
>>>-Chris
>>>
>>>Erik Weber wrote:
>>>
>>>      
>>>
>>>>Hmm I must be doing something wrong. That's giving me the 
>>>>        
>>>>
>>same value 
>>    
>>
>>>>as Erez's example. Strange, I would have expected it to give me 
>>>>"/services". I wonder how I am causing it to give me 
>>>>"/usecase/page.jsp".
>>>>
>>>>atta-ur rehman wrote:
>>>>
>>>>        
>>>>
>>>>>Hi Erik,
>>>>>
>>>>>This one worked for me:
>>>>>
>>>>><c:set var="v">
>>>>><%= request.getServletPath() %>
>>>>></c:set>
>>>>>
>>>>><c:out value="${v}"/>
>>>>><bean:write name="v"/>
>>>>>
>>>>>HTH,
>>>>>
>>>>>ATTA
>>>>>
>>>>>On Tue, 20 Jul 2004 16:20:30 -0400, Erik Weber 
>>>>><[EMAIL PROTECTED]> wrote:
>>>>>
>>>>>
>>>>>          
>>>>>
>>>>>>How can I set a variable (I assume with c:set) that will 
>>>>>>            
>>>>>>
>>hold the 
>>    
>>
>>>>>>value
>>>>>>of request.getServletPath, so that I can use it in el tags?
>>>>>>
>>>>>>Thanks,
>>>>>>Erik
>>>>>>
>>>>>>
>>>>>>            
>>>>>>
>>---------------------------------------------------------------------
>>    
>>
>>>>>>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]
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>          
>>>>>
>>>>        
>>>>
>>---------------------------------------------------------------------
>>    
>>
>>>>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]
>>>
>>>
>>>      
>>>
>>---------------------------------------------------------------------
>>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]
>
>
>  
>


---------------------------------------------------------------------
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