Sorry! The actual piece containing the relative URL was somehow turned into a
link by Nabble, although I didn't check "Message is in HTML Format" box...
Oh well...

Trying again (Beware! I removed all opening and closing "<"/">" brackets
from those lines in the middle starting with "a" and ending with "/a"...)

   <div class="search_div1_left_menu">
      <form wicket:id="searchForm" onsubmit="return false;">
         <div class="search_div1_left_option">
            a href="#" onclick="displaySearchOptions()"
style="text-decoration:none"
               img id="imgParametersOpen" src="img/arrow_search.gif"
border="0"/
            /a
            <span class="text_style">
               <wicket:message key="searchOptions"/>
            </span>
         </div>




beboris wrote:
> 
> So, here is an update.
> 
> It DID fix the problem for the home page. 
> 
> Still, we have a bunch of "relative path" resources on other pages, which
> are not retrieved correctly, including some icons.
> 
> Here is the scenario [data are straight from my debugger]
> 
> =========================
> It all started with the relative path, of course...
> <wicket:panel>
>    <div class="search_div1_left_menu">
>       <form wicket:id="searchForm" onsubmit="return false;">
>          <div class="search_div1_left_option">
>              # 
>                 img/arrow_search.gif 
>              
>             <span class="text_style">
>                <wicket:message key="searchOptions"/>
>             </span>
>          </div>
> 
> And ended with the following stack trace, with the
> [org.apache.naming.resources.ProxyDirContext.]cacheLoad() failing to load
> the file and throwing NamingException exception for my
> "img/arrow_search.gif"
> 
> Thread [http-18080-Processor22] (Suspended) 
>  ProxyDirContext.cacheLoad(CacheEntry) line: 1533 
>  ProxyDirContext.cacheLookup(String) line: 1448 
>  ProxyDirContext.lookup(String) line: 282 
>  ApplicationContext.getResourceAsStream(String) line: 531 
>  ApplicationContextFacade.getResourceAsStream(String) line: 184 
>  WebExternalResourceRequestTarget.respond(RequestCycle) line: 85 
>  DefaultResponseStrategy.respond(RequestCycle) line: 49 
> 
> DefaultWebRequestCycleProcessor(AbstractCompoundRequestCycleProcessor).respond(RequestCycle)
> line: 66 
> 
> WebRequestCycle(RequestCycle).doProcessEventsAndRespond(IRequestCycleProcessor)
> line: 902 
>  WebRequestCycle(RequestCycle).processEventsAndRespond() line: 934 
>  WebRequestCycle(RequestCycle).step() line: 1010 
>  WebRequestCycle(RequestCycle).steps() line: 1084 
>  WebRequestCycle(RequestCycle).request() line: 454 
>  WicketServlet.doGet(HttpServletRequest, HttpServletResponse) line: 219 
>  WicketServlet(HttpServlet).service(HttpServletRequest,
> HttpServletResponse) line: 689 
>  WicketServlet(HttpServlet).service(ServletRequest, ServletResponse) line:
> 802 
>  ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse)
> line: 252 
>  ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line:
> 173 
>  StandardWrapperValve.invoke(Request, Response) line: 213 
>  StandardContextValve.invoke(Request, Response) line: 178 
>  StandardHostValve.invoke(Request, Response) line: 126 
>  ErrorReportValve.invoke(Request, Response) line: 105 
>  StandardEngineValve.invoke(Request, Response) line: 107 
>  CoyoteAdapter.service(Request, Response) line: 148 
>  Http11Processor.process(InputStream, OutputStream) line: 869
> 
> =========
> 
>     protected void cacheLoad(CacheEntry entry) {
>         String name = entry.name;
>         // Retrieve missing info
>         boolean exists = true;
>         // Retrieving attributes
>         if (entry.attributes == null) {
>             try {
>                 Attributes attributes =
> dirContext.getAttributes(entry.name);
>                 if (!(attributes instanceof ResourceAttributes)) {
>                     entry.attributes = 
>                         new ResourceAttributes(attributes);
>                 } else {
>                     entry.attributes = (ResourceAttributes) attributes;
>                 }
>             } catch (NamingException e) {
>                 exists = false;
>             }
>         }
> 
> FileDirContext claims it can't find the file with entry.name. And it's not
> surprising. Somehow, the name contains the "pictureBank", which is where
> servlet is mapped (Of course, the actual file path on the file system
> doesn't include the "/pictureBank"!!!)
> 
> dirContext FileDirContext  (id=8325) 
>  absoluteBase "C:\Dev\apache-tomcat-5.5.20\webapps\NEO-S" 
>  allowLinking false 
>  base File  (id=10277) 
>  cached true 
>  cacheMaxSize 10240 
>  cacheTTL 5000 
>  caseSensitive true 
>  docBase "C:\Dev\apache-tomcat-5.5.20\webapps\NEO-S" 
>  env Hashtable<K,V>  (id=10279) 
>  nameParser NameParserImpl  (id=10280) 
>  sm StringManager  (id=8333) 
> 
> entry CacheEntry  (id=11850) 
>  accessCount 0 
>  attributes null 
>  context null 
>  exists true 
>  name "/pictureBank/img/arrow_search.gif" 
>  resource null 
>  size 1 
>  timestamp -1 
> 
> =========
> 
> But down there in the stack trace I've got WicketServlet, showing me an
> expected pathTranslated for the request
> ("C:\Dev\apache-tomcat-5.5.20\webapps\NEO-S\img\arrow_search.gif"), which
> happens to be exactly the right name the file has on disk.
> 
> [method = GET, protocol = HTTP/1.1, requestURL =
> http://192.168.2.93:18080/NEO-S/pictureBank/img/arrow_search.gif,
> contentType = null, contentLength = -1, contextPath = /NEO-S, pathInfo =
> /img/arrow_search.gif, requestURI =
> /NEO-S/pictureBank/img/arrow_search.gif, servletPath = /pictureBank,
> pathTranslated =
> C:\Dev\apache-tomcat-5.5.20\webapps\NEO-S\img\arrow_search.gif]
> 
> There is no my code in the middle -just some wicked (oops! Sorry! Wicket)
> magic, and I have no wand... Anybody?
> 
> Do you have any idea what could be causing this "change of heart"? Why
> WicketServlet correctly identified servletPath and pathTranslated
> (servletPath = /pictureBank, pathTranslated =
> C:\Dev\apache-tomcat-5.5.20\webapps\NEO-S\img\arrow_search.gif), but then
> (after the request went through WebExternalResourceRequestTarget) it was
> decided that the file path should include "/pictureBank" ???
> 
> Can it be something simple that we can do to cure this kind of issues?
> 
> 
> beboris wrote:
>> 
>> Just an FYI for those who want to know what the problem was about or
>> solution for it is. We did mount the page, and it didn't help. So, we
>> created a sample and shared it with Igor. He filed a bug and created a
>> patch (see https://issues.apache.org/jira/browse/WICKET-290). I'll keep
>> you posted whether it fixed the problem for us...
>> 
>> 
>> igor.vaynberg wrote:
>>> 
>>> mount the page using querystringcodingstrategy that way the link will be
>>> /index.html?wicket:pagemap...
>>> -igor
>>> 
>>> 
>>> On 2/15/07, beboris <[EMAIL PROTECTED]> wrote:
>>>>
>>>>
>>>> Nothing happens. We stay on the same HomePage and display an error.
>>>> Unfortunately, Wicket changes URL of the page though, so relative links
>>>> stop
>>>> working... (see a code snippet below, please)
>>>>
>>>> -bob
>>>>
>>>> HomePage extends WebPage
>>>> ...
>>>> LoginForm form = new Form() {
>>>> ...
>>>>   @Override
>>>>   public void onSubmit() {
>>>>     ... // Login logic here.
>>>>     if (ok) {
>>>>       setResponsePage(new FNMyPhotosWebPage());
>>>>     } else {
>>>>        error(""Log-in for [" + email + "] failed"");
>>>> ...
>>>>
>>>>
>>>>
>>>> igor.vaynberg wrote:
>>>> >
>>>> > what happens if there is an error? how does wicket redirect back to
>>>> that
>>>> > page? how is that back url generated?
>>>> >
>>>> > -igor
>>>> >
>>>> >
>>>> >
>>>> > On 2/15/07, beboris <[EMAIL PROTECTED]> wrote:
>>>> >>
>>>> >>
>>>> >> After 2 months of working with Wicket we almost felt like "profies"
>>>> but
>>>> >> now
>>>> >> that we have to [loosely] integrate some pieces written by others
>>>> we've
>>>> >> got
>>>> >> into one of those Wicket "gotchas" again...
>>>> >>
>>>> >> So, there is a simple home page with a simple javascript created by
>>>> >> others,
>>>> >> which we host inside our framework, but don't want to rewrite from
>>>> >> scratch...
>>>> >>
>>>> >> Let's say, this is a URL of that home page:
>>>> >>    
>>>> http://mydomain.com/webappPath/wicketServletMappingPath/index.html
>>>> >>
>>>> >> The page contains DHTML which works with a bunch of relative URL-s
>>>> of
>>>> >> images
>>>> >> that are downloaded by a javascript (js/home/myscript.js), such as:
>>>> >>     var imgName = "../img/home/login.jpg";
>>>> >>
>>>> >> And the page shows up just fine.
>>>> >>
>>>> >> All the page interaction with our (Wicket-based) site is limited to
>>>> one
>>>> >> simple login form that posts (via HTTP[S] POST) to our Wicket
>>>> >> implementation. If there is no error - everything works fine, and
>>>> the
>>>> >> user
>>>> >> is redirected to an authenticated area.
>>>> >>
>>>> >> However, if there is an error, wicket returns back with a different
>>>> URL
>>>> >> !!!
>>>> >>
>>>> >>
>>>> >>
>>>> http://mydomain.com/webappPath/wicketServletMappingPath/index.html/wicket:pageMapName/wicket-0
>>>> >>
>>>> >> That's it! Relative paths to resources don't work anymore... The
>>>> whole
>>>> >> page
>>>> >> stops working.
>>>> >>
>>>> >> There gotta be a simple solution to that, that doesn't require me to
>>>> >> rewrite
>>>> >> the whole home page.
>>>> >>
>>>> >> But is there? Please, help!
>>>> >>
>>>> >> Thanks,
>>>> >> Bob.
>>>> >>
>>>> >> --
>>>> >> View this message in context:
>>>> >>
>>>> http://www.nabble.com/Relative-URL-s-on-the-page-stop-working-after-HTTP-POST-tf3236431.html#a8994858
>>>> >> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>> >>
>>>> >>
>>>> >>
>>>> -------------------------------------------------------------------------
>>>> >> Take Surveys. Earn Cash. Influence the Future of IT
>>>> >> Join SourceForge.net's Techsay panel and you'll get the chance to
>>>> share
>>>> >> your
>>>> >> opinions on IT & business topics through brief surveys-and earn cash
>>>> >>
>>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>> >> _______________________________________________
>>>> >> Wicket-user mailing list
>>>> >> Wicket-user@lists.sourceforge.net
>>>> >> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>> >>
>>>> >
>>>> >
>>>> -------------------------------------------------------------------------
>>>> > Take Surveys. Earn Cash. Influence the Future of IT
>>>> > Join SourceForge.net's Techsay panel and you'll get the chance to
>>>> share
>>>> > your
>>>> > opinions on IT & business topics through brief surveys-and earn cash
>>>> >
>>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>> > _______________________________________________
>>>> > Wicket-user mailing list
>>>> > Wicket-user@lists.sourceforge.net
>>>> > https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>> >
>>>> >
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Relative-URL-s-on-the-page-stop-working-after-HTTP-POST-tf3236431.html#a8996063
>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>
>>>>
>>>> -------------------------------------------------------------------------
>>>> Take Surveys. Earn Cash. Influence the Future of IT
>>>> Join SourceForge.net's Techsay panel and you'll get the chance to share
>>>> your
>>>> opinions on IT & business topics through brief surveys-and earn cash
>>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>> _______________________________________________
>>>> Wicket-user mailing list
>>>> Wicket-user@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>>>
>>> 
>>> -------------------------------------------------------------------------
>>> Take Surveys. Earn Cash. Influence the Future of IT
>>> Join SourceForge.net's Techsay panel and you'll get the chance to share
>>> your
>>> opinions on IT & business topics through brief surveys-and earn cash
>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>> _______________________________________________
>>> Wicket-user mailing list
>>> Wicket-user@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/wicket-user
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Relative-URL-s-on-the-page-stop-working-after-HTTP-POST-tf3236431.html#a9023724
Sent from the Wicket - User mailing list archive at Nabble.com.


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to