Hi Wade,

The problem is that you are using:

  <stripes:param name="productGroup">${productgroup}</stripes:param>

Here, ${productgroup} is just regular EL - you are not giving Stripes
a chance to use your formatter. Instead, use the following (this is
also what I use in the example from the book):

  <stripes:param name="productGroup" value="${productgroup}"/>

This gives the Stripes param tag the opportunity to use your Formatter
to format the ProductGroup.

Let me know if that helps.

Cheers,
Freddy
http://www.stripesbook.com


On Tue, 23 Dec 2008 17:19:39 -0500, "Wade Marshall" <[email protected]>
said:
> I am trying to copy the example in Chapter 5 of the Stripes book (Daoud)
> for
> Type Converters and Model Classes, but it doesn't work.
> 
> My model class is called ProductGroup, their model class is called
> Contact.
> 
> The good news (I think) is that my app logs seem to indicate the
> formatter
> is being picked up by the configuration done in web.xml   (see logs
> below)
> 
> The bad news is that my generated HTML (wrong) looks like this.....
> 
> <a
> href="/imgweb/PreCardOrder.action?productGroup=com.yff.db.model.ProductGroup%40201adc">
> 
> and theirs (correct) looks like....
> 
> <a href="/email_07/ContactForm.action?contact=2">
> 
> 
> If I'm right the configuration of the formatter being ok.....how might I
> go
> about debugging this problem from here ?
> 
> Or if there's something else I should look, let me know too.
> 
> Thanks all,
> Wade.
> 
> ==========================================================
> 
> Email_07 Application Log
> 
> [16:08:00] DEBUG net.sourceforge.stripes.config.RuntimeConfiguration  -
> Adding auto-discovered Formatter [class stripesbook.ext.ContactFormatter]
> for [class stripesbook.model.Contact] (from type parameter)
> 
> Email_07 Formatter
> 
> package stripesbook.ext;
> 
> import java.util.Locale;
> import net.sourceforge.stripes.format.Formatter;
> import stripesbook.model.Contact;
> 
> public class ContactFormatter implements Formatter<Contact> {
>     public String format(Contact contact) {
>         return String.valueOf(contact.getId());
>     }
>     public void init() { }
>     public void setLocale(Locale locale) { }
>     public void setFormatType(String type) { }
>     public void setFormatPattern(String pattern) { }
> }
> 
> Email_07 Model Class
> 
> package stripesbook.model;
> 
> import java.util.Date;
> 
> public class Contact {
> ...
>     private Integer id;
> }
> 
> ==========================================================
> 
> My Application Log
> 
> 16:33:56,047 DEBUG
> net.sourceforge.stripes.config.RuntimeConfiguration:194 -
> Found Formatter [class com.yff.web.ext.ProductGroupFormatter] - type
> parameters: [class com.yff.db.model.ProductGroup]
> 
> My Formatter
> 
> package com.yff.web.ext;
> 
> import java.util.Locale;
> import com.yff.db.model.ProductGroup;
> import net.sourceforge.stripes.format.Formatter;
> 
> public class ProductGroupFormatter implements Formatter <ProductGroup>{
> 
>     @Override
>     public String format(ProductGroup productGroup) {
>         return productGroup.getId();
>     }
> 
>     @Override
>     public void init() {}
> 
>     @Override
>     public void setFormatPattern(String pattern) {}
> 
>     @Override
>     public void setFormatType(String type) {}
> 
>     @Override
>     public void setLocale(Locale locale) {}
> 
> }
> 
> My ProductGroup Model Class
> 
> package com.yff.db.model;
> ...
> 
> public class ProductGroup implements Serializable
> {
>     ....
>     private String id;
> 
>     @Id
>     public String getId()
>     {
>         return id;
>     }
> ...
> }
> 
> 
> My JSP
> 
> <stripes:link beanclass="com.yff.web.action.PreCardOrderActionBean" >
>   <stripes:param name="productGroup">${productgroup}</stripes:param>
>    Create
> </stripes:link>

------------------------------------------------------------------------------
_______________________________________________
Stripes-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-users

Reply via email to