Can you provide the HTML that is rendered for the image tag using under the working and non-working scenarios? The only thing that makes sense to me is that you are not generating the same src attribute using the two methods.
On Wed, Dec 15, 2010 at 1:57 PM, Rich M <[email protected]> wrote: > On 12/15/2010 03:29 PM, Thiago H. de Paula Figueiredo wrote: >> >> On Wed, 15 Dec 2010 18:25:44 -0200, Rich M <[email protected]> wrote: >> >>> That doesn't quite solve it though, how do I get it to know >>> "yourpicture.jpg"? That's a dynamic String within the system that changes >>> throughout the loop. The images themselves are static, but the filename >>> string is not. >> >> <img src="/yourimagesfolder/${picture}"/> >> >> public String getPicture() { >> .... >> } >> > Right, that was what I started out trying by several means before, as I > mentioned in previous e-mails, but I can't get it to resolve correctly. > > example: > > xxx.xxx.xx.xx - - [15/Dec/2010:21:43:44 +0000] "GET > /layout/images/products/filename.png HTTP/1.1" 404 1330 > "http://localhost/app/customer/Overview" "Mozilla/5.0 Firefox/3.6.12" > > > Comes out as a 404 even though the image certainly exists. > > Maybe the code will help? I included both what works and doesn't work. In > the Page TML the first <t:ContentBubble> is the one that works, using > hardcoded file name. Meanwhile the second instance does not work, even > though ${prod.imageLink} resolves to the same exact String as the hardcoded > file name. > > Page TML: > > <html > > xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" > > xmlns:p="tapestry:parameter"> > > > <t:loop source="products" value="prod"> > > ${checkIfUseable(prod)} > > > <t:if test="useable"> > > <t:ContentBubble > > first="${first}" > > title="${startGood} ${prod.name} - ${prod.pointPrice} MP ${end}" > > text="${prod.freetext}" > > imgRef="/layout/images/products/topupfnf-android.png" > > linkText="${message:redeem-link}" > > linkRef="index.pagelinker/RedeemTab?t:ac=5" > > displayLink="true" > > /> > > > <p:else> > > <t:ContentBubble > > first="${first}" > > title="${startBad} ${prod.name} - ${prod.pointPrice} MP ${end}" > > text="${prod.freetext}" > > imgRef="/layout/images/products/${prod.imageLink}" > > linkText="${message:earn-points}" > > linkRef="./" > > /> > > </p:else> > > </t:if> > > > </t:loop> > > > </html> > > Component Code: > > public class ContentBubble { > > �...@inject > > private Logger log; > > > �...@property > > �...@parameter(required = true, defaultPrefix = BindingConstants.LITERAL) > > private String title; > > > �...@property > > �...@parameter(required = true, defaultPrefix = BindingConstants.LITERAL) > > private String text; > > > �...@property > > �...@parameter(required = true, defaultPrefix = BindingConstants.LITERAL) > > private String linkRef; > > > �...@property > > �...@parameter(required = true, defaultPrefix = BindingConstants.LITERAL) > > private String linkText; > > > �...@property > > �...@parameter(required = true, defaultPrefix = BindingConstants.CONTEXT) > > private String imgRef; > > �...@property > > �...@parameter(defaultPrefix = BindingConstants.LITERAL) > > private Boolean first; > > > �...@property > > �...@parameter(defaultPrefix = BindingConstants.LITERAL) > > private Boolean newWindow; > > > �...@property > > �...@parameter(defaultPrefix = BindingConstants.LITERAL) > > private Boolean displayLink; > > > �...@beginrender > > public void renderPage(MarkupWriter writer) { > > log.debug("Rendering ContentBubble with: " + "\n" + > > "title: " + title + "\n" + > > "text: " + text + "\n" + > > "linkRef: " + linkRef + "\n" + > > "linkText: " + linkText + "\n" + > > "imgRef: " + imgRef + "\n" + > > "first: " + first + "\n" + > > "newWindow: " + newWindow + "\n" + > > "displayLink: " + displayLink + "\n"); > > > > if(first){ > > writer.writeRaw("<div class=\"contentBubble first\"> <div > class=\"contentImg\"> <img src=\""+imgRef+"\" /> </div>"); > > writer.writeRaw("<h2> " + title +"</h2>"); > > writer.writeRaw("<p> " + text +"<br /><br />"); > > > if(displayLink != null&& displayLink){ > > if(newWindow != null&& newWindow) > > writer.writeRaw("<a href=\""+linkRef+"\" > target=\"_blank\"> " + linkText +"</a>"); > > else > > writer.writeRaw("<a href=\""+linkRef+"\"> " + linkText > +"</a>"); > > }else{ > > writer.writeRaw("<strong > class=\"earn\">"+linkText+"</strong>"); > > } > > > writer.writeRaw("</p></div>"); > > }else{ > > writer.writeRaw("<div class=\"contentBubble \"> <div > class=\"contentImg\"> <img src=\""+imgRef+"\" /> </div>"); > > writer.writeRaw("<h2> " + title +"</h2>"); > > writer.writeRaw("<p> " + text +"<br /><br />"); > > > if(displayLink != null&& displayLink){ > > if(newWindow != null&& newWindow) > > writer.writeRaw("<a href=\""+linkRef+"\" > target=\"_blank\"> " + linkText +"</a>"); > > else > > writer.writeRaw("<a href=\""+linkRef+"\"> " + linkText > +"</a>"); > > }else{ > > writer.writeRaw("<strong > class=\"earn\">"+linkText+"</strong>"); > > } > > > writer.writeRaw("</p></div>"); > > } > > } > > } > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
