I don't think Tapestry cares, but why are you calling your .page DirectLink? again I don't think it does matter but is kind of awkward to call a .page "DirectLink" which is also a core tapestry component. I wonder if the order in which tapestry looks for things it's causing this behavior,
just some thoughts.


[EMAIL PROTECTED] wrote:
Can someone tell me how the configuration for ognl resolution differs between a 
servlet environment and a portlet environment?

I am trying to come up to speed with using Tapestry for Websphere Portal 5.1
I am developing using RAD 6.
I have successfully deployed the Hello World tutorial as a portlet, but I am 
having trouble with the Direct Link tutorial.  Apparently, I don't have things 
wired up correctly, as I am getting a BindingException.  My class that extends 
BasePage is not being found.

Here is the relevant excerpt of the exception:

org.apache.tapestry.BindingException
Unable to read OGNL expression '<parsed OGNL expression>' of [EMAIL PROTECTED]: 
$BasePage_3.counter
binding ExpressionBinding[DirectLink counter] location context:/DirectLink.html, line 3 1 <p> 2 The current value is: 3 <span style="font-size:xx-large"><span jwcid="@Insert" value="ognl:counter">37</span></span> 4 </p> 5 6 <p> 7 <a href="#" jwcid="@DirectLink" listener="listener:doClick">increment counter</a> 8 </p>
org.apache.hivemind.ApplicationRuntimeException
Unable to read OGNL expression '<parsed OGNL expression>' of [EMAIL PROTECTED]: 
$BasePage_3.counter
component [EMAIL PROTECTED] location context:/DirectLink.html
ognl.NoSuchPropertyException
$BasePage_3.counter
name counter target [EMAIL PROTECTED] ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:123)

My assumption is that my template, DirectLink.html, requires a corresponding 
class of the same name.  This is the source of DirectLink.java (Note: I've 
commented out annotations, as they are unsupported in jdk 1.4, and hard-coded a 
counter attribute just for initial testing.  I also created copies named 
Home.java and View.java with the same code, but to no effect):

package tutorial.forms.pages;

// import org.apache.tapestry.annotations.Persist;
import org.apache.tapestry.html.BasePage;

public abstract class DirectLink extends BasePage
{
    // @Persist
    private int counter = 17;
    public abstract int getCounter();
    public abstract void setCounter(int counter);
public void doClick()
    {
        int counter = getCounter();
counter++; setCounter(counter);
    }
}


Lastly, I have app.application in my WEB-INF folder with the following contents:

<?xml version="1.0"?>

<!DOCTYPE application PUBLIC "-//Apache Software Foundation//Tapestry Specification 4.0//EN" "http://jakarta.apache.org/tapestry/dtd/Tapestry_4_0.dtd";> <application> <meta key="org.apache.tapestry.page-class-packages" value="tutorial.forms.pages"/>

</application>


Have I overlooked something, or does portal require something different?

Regards,
Ed





---------------------------------------------------------------------
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]

Reply via email to