You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by "Burton, Tom F (DOR)" <to...@alaska.gov> on 2012/04/04 21:18:03 UTC
TextTemplateResourceReference problem
Hello,
I have a component(It displays a menu common across the pages of my
application.)
All the WebPages in my application inherit from BasePage which includes
the menu.
BasePage includes a component MainMenu, which creates a List of
Lists(that contain page links)
The Lists of lists are then wrapped inside of jQuerySlideMenu.
jQuerySlideMenu has the following method defined
renderHead(IHeaderResponse response)
{
super.renderHead(response);
response
.renderCSSReference(new
PackageResourceReference(AppBasePage.class,
"includes/css/jqueryslidemenu.css"));
response
.renderCSSReference(new
PackageResourceReference(AppBasePage.class,
"includes/css/printjqueryslidemenu.css"), "print");
Map<String, Object> arrows = new HashMap<String, Object>(2);
/*
* TODO: look into Meta-inf staticing the resources (faster)
* uses MetaInfStaticResourceReference
* requires the files to be mounted under
* /META-INF/resources in the final jar
*/
//TODO: look at finding a way to make sure it gets redone for every
page
PackageResourceReference down =
new PackageResourceReference(AppBasePage.class,
"includes/menu_down.gif");
PackageResourceReference right =
new PackageResourceReference(AppBasePage.class,
"includes/menu_right.gif");
arrows.put("menu_down", urlFor(down, null));
arrows.put("menu_right", urlFor(right, null));
/* this works
String prefix = getRequest().getContextPath() + "/";
arrows.put("menu_down", prefix + urlFor(down, null));
arrows.put("menu_right", prefix + urlFor(right, null));
*/
//arrow model just implements IModel to pass arrows for getObject()
arrowModel model = new arrowModel(arrows);
response.renderJavaScriptReference(
new TextTemplateResourceReference(AppBasePage.class,
"includes/javascript/jqueryslidemenu.js", model));
}
When I initially login it works great for /home, or other
/mountedPageName pages, but if I follow a link to
/wicket/bookmarkable/full.class.name/?stuffhere the images will not
display.
It works if I prefix contextPath/ infront of the url. But some of my
sites are behind a proxy, and I would like this to work there as well.
Thank you for any help,
Tom Burton
RE: TextTemplateResourceReference problem
Posted by "Burton, Tom F (DOR)" <to...@alaska.gov>.
I'm not doing anything special to renderHead so it's getting called whatever the default is.
(I thought every page, now I'm not so sure.)
arrowModel is just a private class on the Panel that looks like this:
private class arrowModel implements IModel<Map<String, Object>>
{
private Map<String, Object> map;
arrowModel(Map<String, Object> map) { this.map = map; }
/**
* Gets the model object.
*
* @return The model object
*/
public Map<String, Object> getObject() { return map; }
/** Sets the model object.
* @param object The model object
*/
public void setObject(Map<String, Object> object) { }
/**
* Detaches model after use. This is generally used to null out transient
* references that can be
* re-attached later.
*/
public void detach() { }
}
I should probably mention I'm using Wicket 1.5.5
Thanks,
Tom Burton
-----Original Message-----
From: Martin Grigorov [mailto:mgrigorov@apache.org]
Sent: Wednesday, April 04, 2012 11:48 AM
To: users@wicket.apache.org
Subject: Re: TextTemplateResourceReference problem
Hi Tom,
Is ArrowModel and the TTRR recreated for for every page ? I guess the answer is YES but I need to ask.
Please create a quickstart and attach it to Jira so we can take a look.
On Wed, Apr 4, 2012 at 9:18 PM, Burton, Tom F (DOR) <to...@alaska.gov> wrote:
> Hello,
>
> I have a component(It displays a menu common across the pages of my
> application.)
>
> All the WebPages in my application inherit from BasePage which
> includes the menu.
>
>
>
> BasePage includes a component MainMenu, which creates a List of
> Lists(that contain page links)
>
> The Lists of lists are then wrapped inside of jQuerySlideMenu.
>
>
>
> jQuerySlideMenu has the following method defined
>
> renderHead(IHeaderResponse response)
>
> {
>
> super.renderHead(response);
>
> response
>
> .renderCSSReference(new
> PackageResourceReference(AppBasePage.class,
>
>
> "includes/css/jqueryslidemenu.css"));
>
> response
>
> .renderCSSReference(new
> PackageResourceReference(AppBasePage.class,
>
>
> "includes/css/printjqueryslidemenu.css"), "print");
>
>
>
> Map<String, Object> arrows = new HashMap<String, Object>(2);
>
>
>
> /*
>
> * TODO: look into Meta-inf staticing the resources (faster)
>
> * uses MetaInfStaticResourceReference
>
> * requires the files to be mounted under
>
> * /META-INF/resources in the final jar
>
> */
>
> //TODO: look at finding a way to make sure it gets redone for every
> page
>
> PackageResourceReference down =
>
> new PackageResourceReference(AppBasePage.class,
>
> "includes/menu_down.gif");
>
> PackageResourceReference right =
>
> new PackageResourceReference(AppBasePage.class,
>
> "includes/menu_right.gif");
>
>
>
> arrows.put("menu_down", urlFor(down, null));
>
> arrows.put("menu_right", urlFor(right, null));
>
>
>
> /* this works
>
> String prefix = getRequest().getContextPath() + "/";
>
> arrows.put("menu_down", prefix + urlFor(down, null));
>
> arrows.put("menu_right", prefix + urlFor(right, null));
>
> */
>
>
>
> //arrow model just implements IModel to pass arrows for getObject()
>
> arrowModel model = new arrowModel(arrows);
>
> response.renderJavaScriptReference(
>
> new TextTemplateResourceReference(AppBasePage.class,
>
>
> "includes/javascript/jqueryslidemenu.js", model));
>
> }
>
>
>
> When I initially login it works great for /home, or other
> /mountedPageName pages, but if I follow a link to
> /wicket/bookmarkable/full.class.name/?stuffhere the images will not
> display.
>
>
>
> It works if I prefix contextPath/ infront of the url. But some of my
> sites are behind a proxy, and I would like this to work there as well.
>
>
>
> Thank you for any help,
>
> Tom Burton
>
>
>
>
>
--
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com
RE: TextTemplateResourceReference problem
Posted by "Burton, Tom F (DOR)" <to...@alaska.gov>.
Per you're instructions I've opened a ticket in JIRA.
WICKET-4487
-----Original Message-----
From: Martin Grigorov [mailto:mgrigorov@apache.org]
Sent: Wednesday, April 04, 2012 11:48 AM
To: users@wicket.apache.org
Subject: Re: TextTemplateResourceReference problem
Hi Tom,
Is ArrowModel and the TTRR recreated for for every page ? I guess the answer is YES but I need to ask.
Please create a quickstart and attach it to Jira so we can take a look.
On Wed, Apr 4, 2012 at 9:18 PM, Burton, Tom F (DOR) <to...@alaska.gov> wrote:
> Hello,
>
> I have a component(It displays a menu common across the pages of my
> application.)
>
> All the WebPages in my application inherit from BasePage which
> includes the menu.
>
>
>
> BasePage includes a component MainMenu, which creates a List of
> Lists(that contain page links)
>
> The Lists of lists are then wrapped inside of jQuerySlideMenu.
>
>
>
> jQuerySlideMenu has the following method defined
>
> renderHead(IHeaderResponse response)
>
> {
>
> super.renderHead(response);
>
> response
>
> .renderCSSReference(new
> PackageResourceReference(AppBasePage.class,
>
>
> "includes/css/jqueryslidemenu.css"));
>
> response
>
> .renderCSSReference(new
> PackageResourceReference(AppBasePage.class,
>
>
> "includes/css/printjqueryslidemenu.css"), "print");
>
>
>
> Map<String, Object> arrows = new HashMap<String, Object>(2);
>
>
>
> /*
>
> * TODO: look into Meta-inf staticing the resources (faster)
>
> * uses MetaInfStaticResourceReference
>
> * requires the files to be mounted under
>
> * /META-INF/resources in the final jar
>
> */
>
> //TODO: look at finding a way to make sure it gets redone for every
> page
>
> PackageResourceReference down =
>
> new PackageResourceReference(AppBasePage.class,
>
> "includes/menu_down.gif");
>
> PackageResourceReference right =
>
> new PackageResourceReference(AppBasePage.class,
>
> "includes/menu_right.gif");
>
>
>
> arrows.put("menu_down", urlFor(down, null));
>
> arrows.put("menu_right", urlFor(right, null));
>
>
>
> /* this works
>
> String prefix = getRequest().getContextPath() + "/";
>
> arrows.put("menu_down", prefix + urlFor(down, null));
>
> arrows.put("menu_right", prefix + urlFor(right, null));
>
> */
>
>
>
> //arrow model just implements IModel to pass arrows for getObject()
>
> arrowModel model = new arrowModel(arrows);
>
> response.renderJavaScriptReference(
>
> new TextTemplateResourceReference(AppBasePage.class,
>
>
> "includes/javascript/jqueryslidemenu.js", model));
>
> }
>
>
>
> When I initially login it works great for /home, or other
> /mountedPageName pages, but if I follow a link to
> /wicket/bookmarkable/full.class.name/?stuffhere the images will not
> display.
>
>
>
> It works if I prefix contextPath/ infront of the url. But some of my
> sites are behind a proxy, and I would like this to work there as well.
>
>
>
> Thank you for any help,
>
> Tom Burton
>
>
>
>
>
--
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com
Re: TextTemplateResourceReference problem
Posted by Martin Grigorov <mg...@apache.org>.
Hi Tom,
Is ArrowModel and the TTRR recreated for for every page ? I guess the
answer is YES but I need to ask.
Please create a quickstart and attach it to Jira so we can take a look.
On Wed, Apr 4, 2012 at 9:18 PM, Burton, Tom F (DOR)
<to...@alaska.gov> wrote:
> Hello,
>
> I have a component(It displays a menu common across the pages of my
> application.)
>
> All the WebPages in my application inherit from BasePage which includes
> the menu.
>
>
>
> BasePage includes a component MainMenu, which creates a List of
> Lists(that contain page links)
>
> The Lists of lists are then wrapped inside of jQuerySlideMenu.
>
>
>
> jQuerySlideMenu has the following method defined
>
> renderHead(IHeaderResponse response)
>
> {
>
> super.renderHead(response);
>
> response
>
> .renderCSSReference(new
> PackageResourceReference(AppBasePage.class,
>
>
> "includes/css/jqueryslidemenu.css"));
>
> response
>
> .renderCSSReference(new
> PackageResourceReference(AppBasePage.class,
>
>
> "includes/css/printjqueryslidemenu.css"), "print");
>
>
>
> Map<String, Object> arrows = new HashMap<String, Object>(2);
>
>
>
> /*
>
> * TODO: look into Meta-inf staticing the resources (faster)
>
> * uses MetaInfStaticResourceReference
>
> * requires the files to be mounted under
>
> * /META-INF/resources in the final jar
>
> */
>
> //TODO: look at finding a way to make sure it gets redone for every
> page
>
> PackageResourceReference down =
>
> new PackageResourceReference(AppBasePage.class,
>
> "includes/menu_down.gif");
>
> PackageResourceReference right =
>
> new PackageResourceReference(AppBasePage.class,
>
> "includes/menu_right.gif");
>
>
>
> arrows.put("menu_down", urlFor(down, null));
>
> arrows.put("menu_right", urlFor(right, null));
>
>
>
> /* this works
>
> String prefix = getRequest().getContextPath() + "/";
>
> arrows.put("menu_down", prefix + urlFor(down, null));
>
> arrows.put("menu_right", prefix + urlFor(right, null));
>
> */
>
>
>
> //arrow model just implements IModel to pass arrows for getObject()
>
> arrowModel model = new arrowModel(arrows);
>
> response.renderJavaScriptReference(
>
> new TextTemplateResourceReference(AppBasePage.class,
>
>
> "includes/javascript/jqueryslidemenu.js", model));
>
> }
>
>
>
> When I initially login it works great for /home, or other
> /mountedPageName pages, but if I follow a link to
> /wicket/bookmarkable/full.class.name/?stuffhere the images will not
> display.
>
>
>
> It works if I prefix contextPath/ infront of the url. But some of my
> sites are behind a proxy, and I would like this to work there as well.
>
>
>
> Thank you for any help,
>
> Tom Burton
>
>
>
>
>
--
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org