Alternatively, you could use wicket.util.string.interpolator.MapVariableInterpolator for the purpose of interpolating.
Also, that extensions thing I mentioned earlier was part of a blog item I wrote some time ago: http://chillenious.wordpress.com/2006/05/03/wicket-header-contributions-with-behaviors/ That example is about javascript, but it makes sense to have a css variant for this. Eelco On 7/20/06, Ayodeji Aladejebi <[EMAIL PROTECTED]> wrote: > some typo errors in previous mail: > > > In your CSS File (textfield.css): > > .textfieldStyle { > background: url(${myImage}); > } > > In your Wicket Code: > PackageResourceReference imageRes = new > PackageResourceReference(MyPanel.class , "image.gif"); > > > CSSSettings css = new CSSSettings( MyPanel.class > ,"textfield.css"); > > String imageRefString = urlFor(imageRes); > css.addAttribute(" myImage ",imageRefString ); > > //and according to igor > > > add(new StringHeaderContributor(css.getStyle()); > > > On 7/20/06, Ayodeji Aladejebi <[EMAIL PROTECTED] > wrote: > > > > Okay here my little CSS solution for wicket, so if u have had my headache, > you can use it. Please if you have more powerful regex approach...teach me > please. May not be killer but it works just fine for me. > > > > In your CSS File (textfield.css): > > > > .textfieldStyle { > > background: url(${myImage}); > > } > > > > In your Wicket Code: > > PackageResourceReference imageRef = new > PackageResourceReference(MyPanel.class , "image.gif"); > > > > CSSSettings css = new CSSSettings( MyPanel.class,"textfield.css"); > > > > String imageRefString = urlFor > > css.addAttribute("myImage ",); > > > > //and according to igor > > > > > > add(new StringHeaderContributor(css.getStyle()); > > > > > > > > > > /* > > * CSSSettings.java > > * > > * Created on July 20, 2006, 3:15 AM > > * > > * Wicket lover license :) > > * www.dabarobjects.com > > */ > > > > package net.cowblock.wicketx.util; > > > > import java.io.BufferedReader; > > import java.io.IOException; > > import java.io.InputStreamReader; > > import java.io.Serializable; > > import java.net.URL; > > import java.util.Hashtable; > > import java.util.Map; > > import java.util.regex.Matcher; > > import java.util.regex.Pattern; > > import wicket.Resource; > > import wicket.WicketRuntimeException; > > > > /** > > * > > * @author Aladejebi Ayodeji (dabar) > > */ > > public class CSSSettings implements Serializable { > > private Map customStyle; > > > > private static final Pattern customAttrRegex = > Pattern.compile("[$][{][a-zA-Z]++[-]?+[a-zA-Z]++[}]|[$][{][a-zA-Z]++[}]"); > > private static final Pattern innerAttrValue = > Pattern.compile("[a-zA-Z]++[-]?+[a-zA-Z]++|[a-zA-Z]++"); > > private String css; > > private URL cssPath; > > private Class scope; > > /** Creates a new instance of CSSSettings */ > > public CSSSettings(Class cssScope, String cssFileName) { > > customStyle = new Hashtable(); > > > > URL path = cssScope.getResource(cssFileName); > > > > if(path == null) > > throw new WicketRuntimeException("CSS Resource missing"); > > > > this.cssPath = path; > > > > this.scope = cssScope; > > > > > > } > > /** > > * You will define this in your CSS File > > * list-style-image: url(${bgimage}); > > * and add <strong>bgimage</strong> as attribute, then use > urlFor(ResourceReference) to insert value > > */ > > public void addAttribute(String attribute, String value){ > > this.customStyle.put(attribute,value); > > } > > public void removeAttribute(String attribute){ > > this.customStyle.remove(attribute); > > } > > public String getCss(){ > > Matcher _attrDefMatch = null; > > Matcher _attrValueMatch = null; > > > > StringBuffer buffer = new StringBuffer(); > > try { > > > > BufferedReader read = new BufferedReader(new > InputStreamReader( cssPath.openStream())); > > String r =""; > > while((r = read.readLine()) != null){ > > _attrDefMatch = customAttrRegex.matcher(r); > > > > while(_attrDefMatch.find()){ > > > > _attrValueMatch = > innerAttrValue.matcher(_attrDefMatch.group()); > > > > while(_attrValueMatch.find()){ > > > //System.out.println(_attrValueMatch.group()); > > String key = _attrValueMatch.group(); > > if(customStyle.containsKey(key.trim())) > > r = > r.replaceAll("[$][{][a-zA-Z]++[-]?+[a-zA-Z]++[}]|[$][{][a-zA-Z]++[}]", > > > customStyle.get(key.trim()).toString()); > > } > > } > > buffer.append(r); > > > > } > > > > > > } catch (IOException ex) { > > throw new WicketRuntimeException(ex); > > } > > > > return buffer.toString(); > > } > > //TODO: > > private Resource getAsResource() { > > return null; > > } > > public static void main(String args[]){ > > CSSSettings set = new CSSSettings(CSSSettings.class,"FormX.css"); > > > > set.addAttribute("bgimage","web.gif"); > > set.addAttribute("line-color","#343444"); > > > > System.out.println(set.getCss()); > > } > > > > > > > > } > > > > > > > > On 7/19/06, Igor Vaynberg < [EMAIL PROTECTED] > wrote: > > > > > > > > > > > or you can do add(new StringHeaderContributor(css.getStyle()); instead of > using a label > > > > > > -Igor > > > > > > > > > > > > On 7/19/06, Ayodeji Aladejebi < [EMAIL PROTECTED]> wrote: > > > > > > > > > > > well it doesnt necessarily have to be like that...anything that reduces > stress for developers will always fly in dev space. so may things can be > worked out...but i believe that more CSS support is needed in wicket. I am > making something that looks like this for my project. > > > > > > CssMap css = CssMap.parseCSS(MyPanel.class, "style.css"); > > > > css.add("bg-image",urlFor(imageReference)); // replaces > ${bg-image} with image path > > > > add(new Label("styleHead", css.getStyle()); > > > > > > this works fine for me now though still crappy but suits my work for now. > > > > > > > > > > > > > > On 7/19/06, Julian Klappenbach < > [EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > > In general, I doubt that you're going to find much support for that kind > of approach. This is because you'd be hard-coding styles into the > component, which make them difficult to "skin" later on without changing > code. > > > > > > -jjk > > > > > > ________________________________ > From: [EMAIL PROTECTED] [mailto: > [EMAIL PROTECTED] ] On Behalf Of > Ayodeji Aladejebi > > > Sent: Wednesday, July 19, 2006 1:46 AM > > > To: wicket-user@lists.sourceforge.net > > > Subject: Re: [Wicket-user] More CSS support in wicket? > > > > > > > > > > > > Please can one regex expert give me the regex for retrieving name from > ${name}? > > > > > > Thanks and for CSS integration, i dream of this: > > > > > > @CSS ( > > > font-family="Verdana", > > > [EMAIL PROTECTED]("bg.gif,MyPanel.class")} > > > ) > > > private class MyPanel extends Panel { > > > > > > } > > > > > > will generate this header for the panel: > > > > > > <style type="text/css"> > > > .[panel_id] { > > > font-family="Verdana..."; > > > } > > > </style> > > > > > > its a dream :) > > > > > > > > > > > > > > > On 7/19/06, Jean-Baptiste Quenot < [EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > * Eelco Hillenius: > > > > Did you take a look at what's in wicket.extensions.util.resource? I > > > > think that package has exactly what you are looking for, e.g. > > > > PackagedTextTemplate. > > > > > > I can't find it neither in Wicket's API documentation nor in > > > Wicket Extensions's. Do you have a link please? > > > -- > > > Jean-Baptiste Quenot > > > aka John Banana Qwerty > > > http://caraldi.com/jbq/ > > > > > > > ------------------------------------------------------------------------- > > > 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 > > > > > > > > > > > > > > > -- > > > > > > "It takes insanity to drive in sanity" - Me > > > > > > Aladejebi Ayodeji A., > > > DabarObjects Solutions > > > Email: [EMAIL PROTECTED] > > > > > > Mobile: +234 803 589 1780 > > > Web: www.dabarobjects.com > > > > > > > > > Community: > > > www.cowblock.net > > > > > > > ------------------------------------------------------------------------- > > > > > > 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 > > > > > > > > > > > > > > > > -- > > "It takes insanity to drive in sanity" - Me > > > > Aladejebi Ayodeji A., > > DabarObjects Solutions > > Email: [EMAIL PROTECTED] > > Mobile: +234 803 589 1780 > > Web: www.dabarobjects.com > > > > Community: > > www.cowblock.net > > > > > ------------------------------------------------------------------------- > > > > 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 > > > > > > > > > > > > > > > > -- > > "It takes insanity to drive in sanity" - Me > > > > Aladejebi Ayodeji A., > > DabarObjects Solutions > > Email: [EMAIL PROTECTED] > > Mobile: +234 803 589 1780 > > Web: www.dabarobjects.com > > > > Community: > > www.cowblock.net > > > > -- > "It takes insanity to drive in sanity" - Me > > Aladejebi Ayodeji A., > DabarObjects Solutions > Email: [EMAIL PROTECTED] > Mobile: +234 803 589 1780 > Web: www.dabarobjects.com > > Community: > www.cowblock.net > ------------------------------------------------------------------------- > 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