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