Just taking a quick stab at it... It says it can't find property
$BasePage_0.rawDataFeedList, so it looks like maybe Tapestry is using an
enhanced version of BasePage, not your Home page. Does your page
specification XML file point to your class or to Tapestry's BasePage?

On 10/7/06, Dave Rathnow <[EMAIL PROTECTED]> wrote:

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

Reply via email to