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

Reply via email to