+1 I picked it up after seeing Howard mentioned it and loved it. :)
On 5/22/07, Howard Lewis Ship <[EMAIL PROTECTED]> wrote:
The book "The Pragmatic Programmer" is an excellent start on learning how to organize your code and your mind and work effectively, professionally, and pragmatically. http://www.powells.com/biblio/65-9780201616224-0 On 5/21/07, Allen Guo <[EMAIL PROTECTED]> wrote: > > Thanks , It's running now > But suppose there is five properties of Product is relative with image > Product class looks like > class Product{ > private String _img1; > private String _img2; > private String _img3; > private String _img4; > private String _img5; > .... > } > > So for show the img, I have to define the corresponding Img url in > ProductDetai.java like > // ProductDetail.java > class ProductDetail{ > private String _imgUrl1; > private String _imgUrl2; > private String _imgUrl3; > private String _imgUrl4; > private String _imgUrl5; > public String getProductImageURL1() { > return "http://static.myco.com/product-images/" + _imgUrl1 + ".gif"; > } > public String getProductImageURL2() { > return "http://static.myco.com/product-images/" + _imgUrl2 + ".gif"; > } > public String getProductImageURL3() { > return "http://static.myco.com/product-images/" + _imgUrl3 + ".gif"; > } > public String getProductImageURL4() { > return "http://static.myco.com/product-images/" + _imgUrl4 + ".gif"; > } > public String getProductImageURL5() { > return "http://static.myco.com/product-images/" + _imgUrl5 + ".gif"; > } > } > Imagine another simple page like ProductList, > I have to define another list to show the image even there is only a > dynamic image for every product > The ProductList may look like > // ProductList.java > class ProductList{ > private List _productList; > private List _imgList; > ...... > } > Oh god , so terrible codes. > There are a lot of similar require my project. > Can you give me more suggestion? > > Howard Lewis Ship 写道: > > > In order to answer this question, some background is needed. > > > > If you know the product's id (whatever you use, where it's SKU number > > or a > > surrogate key) ... what is the exact process from going from that to a > > URL > > suitable for an <img> tag? > > > > That is ... are the images stored in the database? Or are they on the > > file > > system somewhere? If they are files on the file system, are those files > > mapped to a client-visible URL? > > > > In the latter case, you can do something like: > > > > <img t:id="productImage" src="prop:productImageURL"/> > > > > public String getProductImageURL() { > > return "http://static.myco.com/product-images/" + _productId + ".gif"; > > } > > > > > > > > Assigning a t:id to a tag without specifying a component type creates > > an Any > > component, a component that just renders whatever tag and informal > > parameters you provide it. Here wer'e linking that to some Java code > > in the > > corresponding page or component that computes the URL of the product > > based > > on an instance variable. Probably your example is more complicated, > > but you > > get the idea. > > > > There's another approach used when the data is inside the database, > > but we > > can dive into that if the above solution is insufficient. > > > > Assets are useful for accessing resources inside the web application > > context, or on the classpath, and includes logic related to > > localization ... > > but it is not always appropriate when accessing resources that are well > > outside the web application itself. > > > > On 5/19/07, Allen Guo <[EMAIL PROTECTED]> wrote: > >> > >> Hi All, > >> > >> I want to show the ProductDetail page with product image. It looks like > >> <img src="p_001.jpg" />. > >> You know, every product has different image name,so I need to pass the > >> string 'p_001.jpg' to the corresponding page. > >> As result the img tag should look like <img src="${product.image}"/> or > >> I can use Asset to do it. > >> > >> But I tried to do it using the first approach, exception occured. > >> And I don't know how to the second approach. > >> Can anyone give me an idea? > >> > >> Thank in advance > >> Allen Guo > >> > >> > >> --------------------------------------------------------------------- > >> 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] > > -- Howard M. Lewis Ship TWD Consulting, Inc. Independent J2EE / Open-Source Java Consultant Creator and PMC Chair, Apache Tapestry Creator, Apache HiveMind Professional Tapestry training, mentoring, support and project work. http://howardlewisship.com
-- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com