Hi,

What is in your Home.page file ? 

Probably missing <property name="rawDataFeed"> there?

Or you might want to inject the property using annotation

Good luck



-----Original Message-----
From: Dave Rathnow [mailto:[EMAIL PROTECTED] 
Sent: Saturday, October 07, 2006 3:53 PM
To: Tapestry users
Subject: What causes "Unable to read OGNL expression '<parsed OGNL
expression>'" errors?

Could someone tell me what causes this error:

Unable to read OGNL expression '<parsed OGNL expression>'
...
ognl.NoSuchPropertyException: $BasePage_0.rawDataFeedList

I'm a little confused becuase I'm getting this exception toss when it
looks like I have everything setup correctly.  I am using Tapestry 4
with Java 1.5.  My Home.html file has the following:

<tr jwcid="@For" source="ognl:rawDataFeedList" value="ognl:rawDataFeed"
element="tr"> .....

and my java file looks like this:

public abstract class Home extends BasePage {
    public final static String PAGE_NAME = "Home";

    public abstract RawDataFeed getRawDataFeed();
    public abstract void setRawDataFeed(RawDataFeed aRawDataFeed);
    
    @InjectPage(RawDataFeedAddPage.PAGE_NAME)
    public abstract RawDataFeedAddPage getRawDataFeedAddPage();
    
    @InjectPage(RawDataFeedInspectorPage.PAGE_NAME)
    public abstract RawDataFeedInspectorPage getRawDataFeedInspector();
    
    public List<RawDataFeed> getRawDataFeedList() {
        return getFeedManager().getManagedFeeds();
    }
    
    public IPage addFeedAction() {
        RawDataFeed rawDataFeed = new RawDataFeed();
        RawDataFeedAddPage page = getRawDataFeedAddPage();
        page.setRawDataFeed(rawDataFeed);
        return page;
    }
    
    public IPage viewRawDataFeed(String aName) {
        RawDataFeedInspectorPage rawDataFeedInspector =
getRawDataFeedInspector();
        RawDataFeed rawDataFeed =
getFeedManager().rawDataFeedWithName(aName);
        rawDataFeedInspector.setRawDataFeed(rawDataFeed.deepClone());
        return rawDataFeedInspector;
    }
    
    public void deleteFeedAction(String aName) {
        getFeedManager().deleteFeedWithName(aName);
        try {
            getFeedManager().save();
        } catch (ApplicationException e) {
            e.printStackTrace();
        }
    }

    private FeedManager getFeedManager() {
        return Application.sharedInstance().getFeedManager();
    }
}

Looks to me like I have a "getRawDataFeedList" method, which should map
to "ognl:rawDataFeedList".
I've tried adding a setter method (though I don't need one) but nothing
changed.

Can someone explain what I'm missing?

Thanks,
Dave

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to