Yes it works well.Thanks very much complete code : @Inject private ComponentResources resource; @Inject private AssetSource assetSource;
private Asset weatherImagePath; /** * @param weatherImagePath the weatherImagePath to set */ public void setWeatherImagePath(Asset weatherImagePath) { this.weatherImagePath = weatherImagePath; } public Asset getWeatherImagePath(){ return this.assetSource.findAsset( this.resource.getBaseResource(), "context:images/weather/"+this.weatherPath, null); } public void onActivate(String id){ //bc is load from DB if (lw.hnSunny.equals(bc.getLogWeather())){ this.weatherPath="hn2_sunny.gif"; }else if (lw.hnIce.equals(bc.getLogWeather())) { this.weatherPath="hn2_ice.gif"; }else if (lw.hnCloudy.equals(bc.getLogWeather())) { this.weatherPath="hn2_cloudy.gif"; } } 2007/11/20, Josh Canfield <[EMAIL PROTECTED]>: > > Injecting the asset as you've done doesn't make a lot of sense since the > annotation @Path is a compile time construct. So what you are getting in > your annotation is probably null, or whatever your default for weatherPath > was. > > The advantage to using AssetResource is that you can look up assets at > runtime... > > Josh > > On Nov 19, 2007 5:34 AM, Chris Lewis <[EMAIL PROTECTED]> wrote: > > > I've not seen AssetResource - what is the advantage to using it like > > this as opposed simply to injecting the asset? > > > > lasitha wrote: > > > On Nov 19, 2007 2:37 PM, Doublel <[EMAIL PROTECTED]> wrote: > > > > > >> public void onActivate(String id){ > > >> if (lw.hnSunny.equals(bc.getLogWeather())){ > > >> this.weatherPath="logweath.gif"; > > >> ... > > >> @Inject > > >> @Path("context:/images/"+ weatherPath ) > > >> private Asset trackback; > > >> > > >> I want to implement image can dynamic by var weatherPath > > >> > > > > > > Hello, i'd try injecting the AssetSource service directly into your > > > page/component and using it to look up the resource dynamically. > > > > > > http://tapestry.apache.org/tapestry5/tapestry-core/apidocs/org/apache/tapestry/services/AssetSource.html > > > > > > I haven't tested this, but something like: > > > > > > @Inject ComponentResources resources; > > > @Inject AssetSource assetSource; > > > > > > Asset getTrackback() { > > > return assetSource.findAsset( > > > resources.getBaseResource(), > > > "context:/images/" + calculateWeatherPath(), > > > null); > > > } > > > > > > It actually may work with just null for the first parameter (the > > > resource base) too. > > > > > > Cheers, > > > lasitha > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > -- > -- > TheDailyTube.com. Sign up and get the best new videos on the internet > delivered fresh to your inbox. > -- 得与失都是生活