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