You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Ivano Luberti <lu...@archicoop.it> on 2009/12/30 19:51:57 UTC

T4: including javascript in a component

Hello, I'm trying to include some simple javascript in a component in my
T4 application.
I want my only textfield to  get focus when is displayed.
I'm following the instructions provided at:

http://tapestry.apache.org/tapestry4.1/components/general/script.html

The template of the page including the component has @Shell and @Body
specified.
My component looks like this:

<html>
<head>
<title>MET Online</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link href="css/stile_palmare.css" rel="stylesheet" type="text/css">
</head>
<body>
 <span jwcid="@Script"
script="/it/archimede/met/metgestioneingressi/tapestry/scripts/FormFocus.script"
component="ognl:components.barCode"/>

    <div id="box_operazione">
    <h1>Lettura BarCode</h1>       
        <br />
          <h2>passare il barcode sotto il lettore ottico</h2>
    <form method="post" action="" jwcid="barCodeForm">
          <input type="text" jwcid="barCode" class="text_box" value="" />
          <br /><br />
        <input type="submit" name="Submit" value="Submit" class="bottone">
      </form>
   </div>   
           
</body>
</html>

The Script template file is the last one provides at:

http://tapestry.apache.org/tapestry4.1/components/general/script.html

the one without CDATA

When I try to display the page I get:

[ +/- ] Exception: Unable to read OGNL expression '<parsed OGNL
expression>' of
{component=$TextField_105@81eb97c1[HomeLoggedUser/barCodeForm.barCode]}:
source is null for getProperty(null, "name")

I have already tried putting a bad component name in the @Script span
and the error changes, so it seem the name is right. I have put a bad
path to the script file and the error changes , then the path is correct.

Can someone point me in the right direction?



-- 
==================================================
dott. Ivano Mario Luberti
Archimede Informatica societa' cooperativa a r. l.
Sede Operativa
Via Gereschi 36 - 56126- Pisa
tel.: +39-050- 580959
tel/fax: +39-050-9711344
web: www.archicoop.it
==================================================


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T4: including javascript in a component

Posted by Ivano Luberti <lu...@archicoop.it>.
Correction: putting the @Script solved the null pointer but the
generated javascript was incorrect.
I had to put it before the end of the Form.
You were right Andreas

Ivano Luberti ha scritto:
> I have wrote the solution I have found before reading this.
> Actually It was enough to put it after the form.
> The null component was the text field component not the Form.
> You almost got it because sure the position of @Script matters.
>
> It seems that getForm returns something even if the form has already
> been rendered.
>
> Andreas Andreou ha scritto:
>   
>> You don't specify which object you've found to be null... but anyway, let
>> me try...
>>
>> looking at the FormFocus.script code from
>> http://tapestry.apache.org/tapestry4.1/components/general/script.html
>> i see ${component.form.name} and ${component.name}, so either
>> component or component.form is null (according to the error message)
>>
>> Looking at the javadocs for AbstractFormComponent
>> http://tapestry.apache.org/tapestry4.1/apidocs/org/apache/tapestry/form/AbstractFormComponent.html
>> I read
>> getForm() : returns the IForm which contains the component, or null if
>> the component is
>> not contained by a form, or if the containing Form is not currently rendering.
>>
>> Finally, looking at your code I see that @Script is outside the @Form,
>> so according
>> to the javadocs, getForm() should indeed return null !
>>
>> The cure? move the @Script inside @Form - or rewrite the script so that it
>> doesn't use getForm() perhaps...
>>
>> On Wed, Dec 30, 2009 at 23:35, Ivano Luberti <lu...@archicoop.it> wrote:
>>   
>>     
>>> Thanks Andreas , the problem is that everything works until I insert the
>>> javascript.
>>> In fact the exception is thrown inside the Script implementation. Down
>>> here you'll find the init part of the srtack trace.
>>> I was wondering if not using the @Body in the component html template is
>>> correct, given the fact that it is used in the html template of the page
>>> that call the component.
>>>
>>>
>>>
>>>
>>>    * ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2203)
>>>    * ognl.ASTProperty.getValueBody(ASTProperty.java:114)
>>>    * ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
>>>    * ognl.SimpleNode.getValue(SimpleNode.java:258)
>>>    * ognl.ASTChain.getValueBody(ASTChain.java:141)
>>>    * ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
>>>    * ognl.SimpleNode.getValue(SimpleNode.java:258)
>>>    * ognl.Ognl.getValue(Ognl.java:494)
>>>    * ognl.Ognl.getValue(Ognl.java:458)
>>>    * org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.readCompiled(ExpressionEvaluatorImpl.java:123)
>>>
>>>    * org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:112)
>>>
>>>    * $ExpressionEvaluator_125e178e557.read($ExpressionEvaluator_125e178e557.java)
>>>
>>>    * org.apache.tapestry.script.ScriptSessionImpl.evaluate(ScriptSessionImpl.java:86)
>>>
>>>    * org.apache.tapestry.script.AbstractToken.evaluate(AbstractToken.java:84)
>>>
>>>    * org.apache.tapestry.script.InsertToken.write(InsertToken.java:48)
>>>    * org.apache.tapestry.script.AbstractToken.writeChildren(AbstractToken.java:71)
>>>
>>>    * org.apache.tapestry.script.LetToken.write(LetToken.java:53)
>>>    * org.apache.tapestry.script.AbstractToken.writeChildren(AbstractToken.java:71)
>>>
>>>    * org.apache.tapestry.script.ParsedScript.execute(ParsedScript.java:82)
>>>    * org.apache.tapestry.html.Script.renderComponent(Script.java:159)
>>>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>>>
>>>    * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>>>
>>>    * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>>>
>>>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>>>
>>>    * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>>>
>>>    * org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>>>
>>>    * org.apache.tapestry.html.Body.renderComponent(Body.java:38)
>>>
>>>
>>> Andreas Andreou ha scritto:
>>>     
>>>       
>>>> Hi,
>>>> The error message says that something.getName() is trying to get evaluated but
>>>> something is null
>>>>
>>>> Finding where exactly the error is thrown will show you which object is null...
>>>>
>>>> On Wed, Dec 30, 2009 at 20:51, Ivano Luberti <lu...@archicoop.it> wrote:
>>>>
>>>>       
>>>>         
>>>>> Hello, I'm trying to include some simple javascript in a component in my
>>>>> T4 application.
>>>>> I want my only textfield to  get focus when is displayed.
>>>>> I'm following the instructions provided at:
>>>>>
>>>>> http://tapestry.apache.org/tapestry4.1/components/general/script.html
>>>>>
>>>>> The template of the page including the component has @Shell and @Body
>>>>> specified.
>>>>> My component looks like this:
>>>>>
>>>>> <html>
>>>>> <head>
>>>>> <title>MET Online</title>
>>>>> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
>>>>> <link href="css/stile_palmare.css" rel="stylesheet" type="text/css">
>>>>> </head>
>>>>> <body>
>>>>>  <span jwcid="@Script"
>>>>> script="/it/archimede/met/metgestioneingressi/tapestry/scripts/FormFocus.script"
>>>>> component="ognl:components.barCode"/>
>>>>>
>>>>>    <div id="box_operazione">
>>>>>    <h1>Lettura BarCode</h1>
>>>>>        <br />
>>>>>          <h2>passare il barcode sotto il lettore ottico</h2>
>>>>>    <form method="post" action="" jwcid="barCodeForm">
>>>>>          <input type="text" jwcid="barCode" class="text_box" value="" />
>>>>>          <br /><br />
>>>>>        <input type="submit" name="Submit" value="Submit" class="bottone">
>>>>>      </form>
>>>>>   </div>
>>>>>
>>>>> </body>
>>>>> </html>
>>>>>
>>>>> The Script template file is the last one provides at:
>>>>>
>>>>> http://tapestry.apache.org/tapestry4.1/components/general/script.html
>>>>>
>>>>> the one without CDATA
>>>>>
>>>>> When I try to display the page I get:
>>>>>
>>>>> [ +/- ] Exception: Unable to read OGNL expression '<parsed OGNL
>>>>> expression>' of
>>>>> {component=$TextField_105@81eb97c1[HomeLoggedUser/barCodeForm.barCode]}:
>>>>> source is null for getProperty(null, "name")
>>>>>
>>>>> I have already tried putting a bad component name in the @Script span
>>>>> and the error changes, so it seem the name is right. I have put a bad
>>>>> path to the script file and the error changes , then the path is correct.
>>>>>
>>>>> Can someone point me in the right direction?
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> ==================================================
>>>>> dott. Ivano Mario Luberti
>>>>> Archimede Informatica societa' cooperativa a r. l.
>>>>> Sede Operativa
>>>>> Via Gereschi 36 - 56126- Pisa
>>>>> tel.: +39-050- 580959
>>>>> tel/fax: +39-050-9711344
>>>>> web: www.archicoop.it
>>>>> ==================================================
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>>
>>>>>
>>>>>
>>>>>         
>>>>>           
>>>>       
>>>>         
>>> --
>>> ==================================================
>>> dott. Ivano Mario Luberti
>>> Archimede Informatica societa' cooperativa a r. l.
>>> Sede Operativa
>>> Via Gereschi 36 - 56126- Pisa
>>> tel.: +39-050- 580959
>>> tel/fax: +39-050-9711344
>>> web: www.archicoop.it
>>> ==================================================
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>>     
>>>       
>>
>>   
>>     
>
>   

-- 
==================================================
dott. Ivano Mario Luberti
Archimede Informatica societa' cooperativa a r. l.
Sede Operativa
Via Gereschi 36 - 56126- Pisa
tel.: +39-050- 580959
tel/fax: +39-050-9711344
web: www.archicoop.it
==================================================


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T4: including javascript in a component

Posted by Ivano Luberti <lu...@archicoop.it>.
I have wrote the solution I have found before reading this.
Actually It was enough to put it after the form.
The null component was the text field component not the Form.
You almost got it because sure the position of @Script matters.

It seems that getForm returns something even if the form has already
been rendered.

Andreas Andreou ha scritto:
> You don't specify which object you've found to be null... but anyway, let
> me try...
>
> looking at the FormFocus.script code from
> http://tapestry.apache.org/tapestry4.1/components/general/script.html
> i see ${component.form.name} and ${component.name}, so either
> component or component.form is null (according to the error message)
>
> Looking at the javadocs for AbstractFormComponent
> http://tapestry.apache.org/tapestry4.1/apidocs/org/apache/tapestry/form/AbstractFormComponent.html
> I read
> getForm() : returns the IForm which contains the component, or null if
> the component is
> not contained by a form, or if the containing Form is not currently rendering.
>
> Finally, looking at your code I see that @Script is outside the @Form,
> so according
> to the javadocs, getForm() should indeed return null !
>
> The cure? move the @Script inside @Form - or rewrite the script so that it
> doesn't use getForm() perhaps...
>
> On Wed, Dec 30, 2009 at 23:35, Ivano Luberti <lu...@archicoop.it> wrote:
>   
>> Thanks Andreas , the problem is that everything works until I insert the
>> javascript.
>> In fact the exception is thrown inside the Script implementation. Down
>> here you'll find the init part of the srtack trace.
>> I was wondering if not using the @Body in the component html template is
>> correct, given the fact that it is used in the html template of the page
>> that call the component.
>>
>>
>>
>>
>>    * ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2203)
>>    * ognl.ASTProperty.getValueBody(ASTProperty.java:114)
>>    * ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
>>    * ognl.SimpleNode.getValue(SimpleNode.java:258)
>>    * ognl.ASTChain.getValueBody(ASTChain.java:141)
>>    * ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
>>    * ognl.SimpleNode.getValue(SimpleNode.java:258)
>>    * ognl.Ognl.getValue(Ognl.java:494)
>>    * ognl.Ognl.getValue(Ognl.java:458)
>>    * org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.readCompiled(ExpressionEvaluatorImpl.java:123)
>>
>>    * org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:112)
>>
>>    * $ExpressionEvaluator_125e178e557.read($ExpressionEvaluator_125e178e557.java)
>>
>>    * org.apache.tapestry.script.ScriptSessionImpl.evaluate(ScriptSessionImpl.java:86)
>>
>>    * org.apache.tapestry.script.AbstractToken.evaluate(AbstractToken.java:84)
>>
>>    * org.apache.tapestry.script.InsertToken.write(InsertToken.java:48)
>>    * org.apache.tapestry.script.AbstractToken.writeChildren(AbstractToken.java:71)
>>
>>    * org.apache.tapestry.script.LetToken.write(LetToken.java:53)
>>    * org.apache.tapestry.script.AbstractToken.writeChildren(AbstractToken.java:71)
>>
>>    * org.apache.tapestry.script.ParsedScript.execute(ParsedScript.java:82)
>>    * org.apache.tapestry.html.Script.renderComponent(Script.java:159)
>>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>>
>>    * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>>
>>    * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>>
>>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>>
>>    * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>>
>>    * org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>>
>>    * org.apache.tapestry.html.Body.renderComponent(Body.java:38)
>>
>>
>> Andreas Andreou ha scritto:
>>     
>>> Hi,
>>> The error message says that something.getName() is trying to get evaluated but
>>> something is null
>>>
>>> Finding where exactly the error is thrown will show you which object is null...
>>>
>>> On Wed, Dec 30, 2009 at 20:51, Ivano Luberti <lu...@archicoop.it> wrote:
>>>
>>>       
>>>> Hello, I'm trying to include some simple javascript in a component in my
>>>> T4 application.
>>>> I want my only textfield to  get focus when is displayed.
>>>> I'm following the instructions provided at:
>>>>
>>>> http://tapestry.apache.org/tapestry4.1/components/general/script.html
>>>>
>>>> The template of the page including the component has @Shell and @Body
>>>> specified.
>>>> My component looks like this:
>>>>
>>>> <html>
>>>> <head>
>>>> <title>MET Online</title>
>>>> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
>>>> <link href="css/stile_palmare.css" rel="stylesheet" type="text/css">
>>>> </head>
>>>> <body>
>>>>  <span jwcid="@Script"
>>>> script="/it/archimede/met/metgestioneingressi/tapestry/scripts/FormFocus.script"
>>>> component="ognl:components.barCode"/>
>>>>
>>>>    <div id="box_operazione">
>>>>    <h1>Lettura BarCode</h1>
>>>>        <br />
>>>>          <h2>passare il barcode sotto il lettore ottico</h2>
>>>>    <form method="post" action="" jwcid="barCodeForm">
>>>>          <input type="text" jwcid="barCode" class="text_box" value="" />
>>>>          <br /><br />
>>>>        <input type="submit" name="Submit" value="Submit" class="bottone">
>>>>      </form>
>>>>   </div>
>>>>
>>>> </body>
>>>> </html>
>>>>
>>>> The Script template file is the last one provides at:
>>>>
>>>> http://tapestry.apache.org/tapestry4.1/components/general/script.html
>>>>
>>>> the one without CDATA
>>>>
>>>> When I try to display the page I get:
>>>>
>>>> [ +/- ] Exception: Unable to read OGNL expression '<parsed OGNL
>>>> expression>' of
>>>> {component=$TextField_105@81eb97c1[HomeLoggedUser/barCodeForm.barCode]}:
>>>> source is null for getProperty(null, "name")
>>>>
>>>> I have already tried putting a bad component name in the @Script span
>>>> and the error changes, so it seem the name is right. I have put a bad
>>>> path to the script file and the error changes , then the path is correct.
>>>>
>>>> Can someone point me in the right direction?
>>>>
>>>>
>>>>
>>>> --
>>>> ==================================================
>>>> dott. Ivano Mario Luberti
>>>> Archimede Informatica societa' cooperativa a r. l.
>>>> Sede Operativa
>>>> Via Gereschi 36 - 56126- Pisa
>>>> tel.: +39-050- 580959
>>>> tel/fax: +39-050-9711344
>>>> web: www.archicoop.it
>>>> ==================================================
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>>
>>>>
>>>>
>>>>         
>>>
>>>
>>>       
>> --
>> ==================================================
>> dott. Ivano Mario Luberti
>> Archimede Informatica societa' cooperativa a r. l.
>> Sede Operativa
>> Via Gereschi 36 - 56126- Pisa
>> tel.: +39-050- 580959
>> tel/fax: +39-050-9711344
>> web: www.archicoop.it
>> ==================================================
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>>     
>
>
>
>   

-- 
==================================================
dott. Ivano Mario Luberti
Archimede Informatica societa' cooperativa a r. l.
Sede Operativa
Via Gereschi 36 - 56126- Pisa
tel.: +39-050- 580959
tel/fax: +39-050-9711344
web: www.archicoop.it
==================================================


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T4: including javascript in a component

Posted by Andreas Andreou <an...@di.uoa.gr>.
You don't specify which object you've found to be null... but anyway, let
me try...

looking at the FormFocus.script code from
http://tapestry.apache.org/tapestry4.1/components/general/script.html
i see ${component.form.name} and ${component.name}, so either
component or component.form is null (according to the error message)

Looking at the javadocs for AbstractFormComponent
http://tapestry.apache.org/tapestry4.1/apidocs/org/apache/tapestry/form/AbstractFormComponent.html
I read
getForm() : returns the IForm which contains the component, or null if
the component is
not contained by a form, or if the containing Form is not currently rendering.

Finally, looking at your code I see that @Script is outside the @Form,
so according
to the javadocs, getForm() should indeed return null !

The cure? move the @Script inside @Form - or rewrite the script so that it
doesn't use getForm() perhaps...

On Wed, Dec 30, 2009 at 23:35, Ivano Luberti <lu...@archicoop.it> wrote:
> Thanks Andreas , the problem is that everything works until I insert the
> javascript.
> In fact the exception is thrown inside the Script implementation. Down
> here you'll find the init part of the srtack trace.
> I was wondering if not using the @Body in the component html template is
> correct, given the fact that it is used in the html template of the page
> that call the component.
>
>
>
>
>    * ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2203)
>    * ognl.ASTProperty.getValueBody(ASTProperty.java:114)
>    * ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
>    * ognl.SimpleNode.getValue(SimpleNode.java:258)
>    * ognl.ASTChain.getValueBody(ASTChain.java:141)
>    * ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
>    * ognl.SimpleNode.getValue(SimpleNode.java:258)
>    * ognl.Ognl.getValue(Ognl.java:494)
>    * ognl.Ognl.getValue(Ognl.java:458)
>    * org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.readCompiled(ExpressionEvaluatorImpl.java:123)
>
>    * org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:112)
>
>    * $ExpressionEvaluator_125e178e557.read($ExpressionEvaluator_125e178e557.java)
>
>    * org.apache.tapestry.script.ScriptSessionImpl.evaluate(ScriptSessionImpl.java:86)
>
>    * org.apache.tapestry.script.AbstractToken.evaluate(AbstractToken.java:84)
>
>    * org.apache.tapestry.script.InsertToken.write(InsertToken.java:48)
>    * org.apache.tapestry.script.AbstractToken.writeChildren(AbstractToken.java:71)
>
>    * org.apache.tapestry.script.LetToken.write(LetToken.java:53)
>    * org.apache.tapestry.script.AbstractToken.writeChildren(AbstractToken.java:71)
>
>    * org.apache.tapestry.script.ParsedScript.execute(ParsedScript.java:82)
>    * org.apache.tapestry.html.Script.renderComponent(Script.java:159)
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>
>    * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>
>    * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)
>
>    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)
>
>    * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)
>
>    * org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)
>
>    * org.apache.tapestry.html.Body.renderComponent(Body.java:38)
>
>
> Andreas Andreou ha scritto:
>> Hi,
>> The error message says that something.getName() is trying to get evaluated but
>> something is null
>>
>> Finding where exactly the error is thrown will show you which object is null...
>>
>> On Wed, Dec 30, 2009 at 20:51, Ivano Luberti <lu...@archicoop.it> wrote:
>>
>>> Hello, I'm trying to include some simple javascript in a component in my
>>> T4 application.
>>> I want my only textfield to  get focus when is displayed.
>>> I'm following the instructions provided at:
>>>
>>> http://tapestry.apache.org/tapestry4.1/components/general/script.html
>>>
>>> The template of the page including the component has @Shell and @Body
>>> specified.
>>> My component looks like this:
>>>
>>> <html>
>>> <head>
>>> <title>MET Online</title>
>>> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
>>> <link href="css/stile_palmare.css" rel="stylesheet" type="text/css">
>>> </head>
>>> <body>
>>>  <span jwcid="@Script"
>>> script="/it/archimede/met/metgestioneingressi/tapestry/scripts/FormFocus.script"
>>> component="ognl:components.barCode"/>
>>>
>>>    <div id="box_operazione">
>>>    <h1>Lettura BarCode</h1>
>>>        <br />
>>>          <h2>passare il barcode sotto il lettore ottico</h2>
>>>    <form method="post" action="" jwcid="barCodeForm">
>>>          <input type="text" jwcid="barCode" class="text_box" value="" />
>>>          <br /><br />
>>>        <input type="submit" name="Submit" value="Submit" class="bottone">
>>>      </form>
>>>   </div>
>>>
>>> </body>
>>> </html>
>>>
>>> The Script template file is the last one provides at:
>>>
>>> http://tapestry.apache.org/tapestry4.1/components/general/script.html
>>>
>>> the one without CDATA
>>>
>>> When I try to display the page I get:
>>>
>>> [ +/- ] Exception: Unable to read OGNL expression '<parsed OGNL
>>> expression>' of
>>> {component=$TextField_105@81eb97c1[HomeLoggedUser/barCodeForm.barCode]}:
>>> source is null for getProperty(null, "name")
>>>
>>> I have already tried putting a bad component name in the @Script span
>>> and the error changes, so it seem the name is right. I have put a bad
>>> path to the script file and the error changes , then the path is correct.
>>>
>>> Can someone point me in the right direction?
>>>
>>>
>>>
>>> --
>>> ==================================================
>>> dott. Ivano Mario Luberti
>>> Archimede Informatica societa' cooperativa a r. l.
>>> Sede Operativa
>>> Via Gereschi 36 - 56126- Pisa
>>> tel.: +39-050- 580959
>>> tel/fax: +39-050-9711344
>>> web: www.archicoop.it
>>> ==================================================
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>>
>>
>>
>>
>>
>
> --
> ==================================================
> dott. Ivano Mario Luberti
> Archimede Informatica societa' cooperativa a r. l.
> Sede Operativa
> Via Gereschi 36 - 56126- Pisa
> tel.: +39-050- 580959
> tel/fax: +39-050-9711344
> web: www.archicoop.it
> ==================================================
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>



-- 
Andreas Andreou - andyhot@apache.org - http://blog.andyhot.gr
Tapestry / Tacos developer
Open Source / JEE Consulting

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T4: including javascript in a component

Posted by Ivano Luberti <lu...@archicoop.it>.
Thanks Andreas , the problem is that everything works until I insert the
javascript.
In fact the exception is thrown inside the Script implementation. Down
here you'll find the init part of the srtack trace.
I was wondering if not using the @Body in the component html template is
correct, given the fact that it is used in the html template of the page
that call the component.




    * ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2203)
    * ognl.ASTProperty.getValueBody(ASTProperty.java:114)
    * ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
    * ognl.SimpleNode.getValue(SimpleNode.java:258)
    * ognl.ASTChain.getValueBody(ASTChain.java:141)
    * ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
    * ognl.SimpleNode.getValue(SimpleNode.java:258)
    * ognl.Ognl.getValue(Ognl.java:494)
    * ognl.Ognl.getValue(Ognl.java:458)
    * org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.readCompiled(ExpressionEvaluatorImpl.java:123)

    * org.apache.tapestry.services.impl.ExpressionEvaluatorImpl.read(ExpressionEvaluatorImpl.java:112)

    * $ExpressionEvaluator_125e178e557.read($ExpressionEvaluator_125e178e557.java)

    * org.apache.tapestry.script.ScriptSessionImpl.evaluate(ScriptSessionImpl.java:86)

    * org.apache.tapestry.script.AbstractToken.evaluate(AbstractToken.java:84)

    * org.apache.tapestry.script.InsertToken.write(InsertToken.java:48)
    * org.apache.tapestry.script.AbstractToken.writeChildren(AbstractToken.java:71)

    * org.apache.tapestry.script.LetToken.write(LetToken.java:53)
    * org.apache.tapestry.script.AbstractToken.writeChildren(AbstractToken.java:71)

    * org.apache.tapestry.script.ParsedScript.execute(ParsedScript.java:82)
    * org.apache.tapestry.html.Script.renderComponent(Script.java:159)
    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)

    * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)

    * org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:107)

    * org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:724)

    * org.apache.tapestry.services.impl.DefaultResponseBuilder.render(DefaultResponseBuilder.java:187)

    * org.apache.tapestry.AbstractComponent.renderBody(AbstractComponent.java:538)

    * org.apache.tapestry.html.Body.renderComponent(Body.java:38)


Andreas Andreou ha scritto:
> Hi,
> The error message says that something.getName() is trying to get evaluated but
> something is null
>
> Finding where exactly the error is thrown will show you which object is null...
>
> On Wed, Dec 30, 2009 at 20:51, Ivano Luberti <lu...@archicoop.it> wrote:
>   
>> Hello, I'm trying to include some simple javascript in a component in my
>> T4 application.
>> I want my only textfield to  get focus when is displayed.
>> I'm following the instructions provided at:
>>
>> http://tapestry.apache.org/tapestry4.1/components/general/script.html
>>
>> The template of the page including the component has @Shell and @Body
>> specified.
>> My component looks like this:
>>
>> <html>
>> <head>
>> <title>MET Online</title>
>> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
>> <link href="css/stile_palmare.css" rel="stylesheet" type="text/css">
>> </head>
>> <body>
>>  <span jwcid="@Script"
>> script="/it/archimede/met/metgestioneingressi/tapestry/scripts/FormFocus.script"
>> component="ognl:components.barCode"/>
>>
>>    <div id="box_operazione">
>>    <h1>Lettura BarCode</h1>
>>        <br />
>>          <h2>passare il barcode sotto il lettore ottico</h2>
>>    <form method="post" action="" jwcid="barCodeForm">
>>          <input type="text" jwcid="barCode" class="text_box" value="" />
>>          <br /><br />
>>        <input type="submit" name="Submit" value="Submit" class="bottone">
>>      </form>
>>   </div>
>>
>> </body>
>> </html>
>>
>> The Script template file is the last one provides at:
>>
>> http://tapestry.apache.org/tapestry4.1/components/general/script.html
>>
>> the one without CDATA
>>
>> When I try to display the page I get:
>>
>> [ +/- ] Exception: Unable to read OGNL expression '<parsed OGNL
>> expression>' of
>> {component=$TextField_105@81eb97c1[HomeLoggedUser/barCodeForm.barCode]}:
>> source is null for getProperty(null, "name")
>>
>> I have already tried putting a bad component name in the @Script span
>> and the error changes, so it seem the name is right. I have put a bad
>> path to the script file and the error changes , then the path is correct.
>>
>> Can someone point me in the right direction?
>>
>>
>>
>> --
>> ==================================================
>> dott. Ivano Mario Luberti
>> Archimede Informatica societa' cooperativa a r. l.
>> Sede Operativa
>> Via Gereschi 36 - 56126- Pisa
>> tel.: +39-050- 580959
>> tel/fax: +39-050-9711344
>> web: www.archicoop.it
>> ==================================================
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>>     
>
>
>
>   

-- 
==================================================
dott. Ivano Mario Luberti
Archimede Informatica societa' cooperativa a r. l.
Sede Operativa
Via Gereschi 36 - 56126- Pisa
tel.: +39-050- 580959
tel/fax: +39-050-9711344
web: www.archicoop.it
==================================================


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T4: including javascript in a component

Posted by Andreas Andreou <an...@di.uoa.gr>.
Hi,
The error message says that something.getName() is trying to get evaluated but
something is null

Finding where exactly the error is thrown will show you which object is null...

On Wed, Dec 30, 2009 at 20:51, Ivano Luberti <lu...@archicoop.it> wrote:
> Hello, I'm trying to include some simple javascript in a component in my
> T4 application.
> I want my only textfield to  get focus when is displayed.
> I'm following the instructions provided at:
>
> http://tapestry.apache.org/tapestry4.1/components/general/script.html
>
> The template of the page including the component has @Shell and @Body
> specified.
> My component looks like this:
>
> <html>
> <head>
> <title>MET Online</title>
> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
> <link href="css/stile_palmare.css" rel="stylesheet" type="text/css">
> </head>
> <body>
>  <span jwcid="@Script"
> script="/it/archimede/met/metgestioneingressi/tapestry/scripts/FormFocus.script"
> component="ognl:components.barCode"/>
>
>    <div id="box_operazione">
>    <h1>Lettura BarCode</h1>
>        <br />
>          <h2>passare il barcode sotto il lettore ottico</h2>
>    <form method="post" action="" jwcid="barCodeForm">
>          <input type="text" jwcid="barCode" class="text_box" value="" />
>          <br /><br />
>        <input type="submit" name="Submit" value="Submit" class="bottone">
>      </form>
>   </div>
>
> </body>
> </html>
>
> The Script template file is the last one provides at:
>
> http://tapestry.apache.org/tapestry4.1/components/general/script.html
>
> the one without CDATA
>
> When I try to display the page I get:
>
> [ +/- ] Exception: Unable to read OGNL expression '<parsed OGNL
> expression>' of
> {component=$TextField_105@81eb97c1[HomeLoggedUser/barCodeForm.barCode]}:
> source is null for getProperty(null, "name")
>
> I have already tried putting a bad component name in the @Script span
> and the error changes, so it seem the name is right. I have put a bad
> path to the script file and the error changes , then the path is correct.
>
> Can someone point me in the right direction?
>
>
>
> --
> ==================================================
> dott. Ivano Mario Luberti
> Archimede Informatica societa' cooperativa a r. l.
> Sede Operativa
> Via Gereschi 36 - 56126- Pisa
> tel.: +39-050- 580959
> tel/fax: +39-050-9711344
> web: www.archicoop.it
> ==================================================
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>



-- 
Andreas Andreou - andyhot@apache.org - http://blog.andyhot.gr
Tapestry / Tacos developer
Open Source / JEE Consulting

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org