to complete the discussion:

If you use VelocityECSLayout and you want to use JavaScript in your body
tag (e.g. onLoad="....") than you need
a method to add javascript to the header section of the document. That�s
because the header-section and the enclosing
<body ..></body> is generated by the VelocityECSLayout.

If you use javascript only for form-validation, displaying current time or
something like that you can add your javascript-code
directly into your velocity-file as supposed by colin.

/uwe



                                                                                       
                            
                      "michael shek sia                                                
                            
                      lim"                      An:       
<[EMAIL PROTECTED]>                        
                      <michael@eigentech        Kopie:                                 
                            
                      nology.com>               Thema:    Re: AW: AW: adding 
Javascript                            
                                                                                       
                            
                      14.12.2002 09:09                                                 
                            
                      Bitte antworten an                                               
                            
                      "Turbine Users                                                   
                            
                      List"                                                            
                            
                                                                                       
                            
                                                                                       
                            




Thanks to all of you who offered help.  I tried adding a script directly
to the template as suggested by Colin and IT WORKED.

best wishes
michael







> In my Layout/default.vm I have a reference to both a CSS file and
> global.js
>
> <SCRIPT SRC = "$context_path/javascripts/global.js"></SCRIPT>
>  <link href="$context_path/stylesheets/foo.css"  rel="stylesheet"
> type="text/css">
>
> Furthermore when I have javascript specific to a template I include it
> at the top of *that* template.
>
> Works for us.
>
> /c
>
>
> You might not even need the class, I think most if not all of the
> methods that are added are now in the standard TemplatePageAttributes
> (although I haven't specifically checked).
>
> Cheers,
>
> Scott
> --
> Scott Eade
> Backstage Technologies Pty. Ltd.
> http://www.backstagetech.com.au
> .Mac Chat/AIM: seade at mac dot com
>
>> From: "Marc Lustig" <[EMAIL PROTECTED]>
>> Reply-To: "Turbine Users List" <[EMAIL PROTECTED]> Date:
>> Sat, 14 Dec 2002 03:07:09 +0100
>> To: "Turbine Users List" <[EMAIL PROTECTED]>
>> Subject: AW: AW: adding Javascript
>>
>> Michael,
>>
>> I use
>>
>> $page.setScript("JavaScript",
>> "text/javascript",$content.getURI("resources/global.js"))
>>
>> and this class:
>>
>> package de.geoconnect.audiotex.turbineext;
>>
>> import org.apache.turbine.util.template.TemplatePageAttributes;
>> import org.apache.turbine.util.RunData;
>> import org.apache.ecs.html.Script;
>> import org.apache.ecs.html.Link;
>> import org.apache.ecs.html.Style;
>>
>> public class ExtTemplatePageAttributes extends TemplatePageAttributes
>> { private RunData data = null;
>>
>>  /**
>>   * Default constructor. The init method must be called before use */
>>  public ExtTemplatePageAttributes()
>>  {
>>      super();
>>  }
>>
>>  /**
>>   * Construct a new instance with the given RunData object.
>>   *
>>   * @param data a RunData instance
>>   */
>>  public ExtTemplatePageAttributes(RunData data)
>>  {
>>      super(data);
>>      this.data = data;
>>  }
>>
>>  /**
>>   * Initialise this instance with the given RunData object.
>>   * (ApplicationTool method)
>>   *
>>   * @param data Assumed to be a RunData instance
>>   */
>>  public void init(Object data)
>>  {
>>      super.init(data);
>>
>>      // we blithely cast to RunData as the runtime error thrown
>>      // if data is null or not RunData is appropriate.
>>      this.data = (RunData)data;
>>  }
>>
>>  /**
>>   * Refresh method - does nothing
>>   */
>>  public void refresh()
>>  {
>>      // empty
>>  }
>>
>>  /**
>>   * Adds a LINK to a javascript file to the HEAD of the page.
>>   *
>>   * @param url A String.
>>   * @return A TemplatePageAttributesEx (self).
>>   */
>>  public TemplatePageAttributes setScript(String url)
>>  {
>>      data.getPage().getHead().addElement(new Script().setSrc(url)
>>              .setType("text/javascript").setLanguage("JavaScript"));
>>      return this;
>>  }
>>  public TemplatePageAttributes setScript(String lang, String type,
>> String url)
>>      {
>>          data.getPage().getHead().addElement(new Script()
>>                  .setLanguage(lang).setType(type).setSrc(url));
>>          return this;
>>   }
>>  /**
>>   * Adds a LINK to a CSS stylesheet to the HEAD of the page, allowing
>> the * media type to be specified.
>>   *
>>   * @param url The value for the <code>href</code> attribute.
>>   * @param media The value for the <code>media</code> attribute. *
>> @return a <code>TemplatePageAttributes</code> (self).
>>   */
>>  public TemplatePageAttributes setStyleSheet(String url, String media)
>> {
>>      data.getPage().getHead().addElement(new
>> Link().setRel("stylesheet")
>>              .setType("text/css").setMedia(media).setHref(url));
>>      return this;
>>  }
>>
>> //    /**
>> //     * Adds a STYLE element to the HEAD of the page.
>> //     *
>> //     * @param styleText The content of the style element.
>> //     * @param media The value for the <code>media</code> attribute.
>> //     * @return a <code>TemplatePageAttributes</code> (self).
>> //     */
>> //    public TemplatePageAttributes setStyleElement(String styleText,
> String
>> media)
>> //    {
>> //        Style style = new Style("text/css", styleText);
>> //        style.setMedia(media);
>> //        data.getPage().getHead().addElement(style);
>> //        return this;
>> //    }
>>
>>  /**
>>   * Adds a STYLE element to the HEAD of the page with the provided
>> content.
>>   *
>>   * @param styleText The contents of the <code>style</code> tag. *
>> @return a <code>TemplatePageAttributes</code> (self).
>>   */
>>  public TemplatePageAttributes setStyle(String styleText)
>>  {
>>      data.getPage().getHead().addElement(new Style("text/css",
>> styleText));
>>      return this;
>>  }
>>
>> }
>>
>>
>> You have to register the class in your TR.props.
>>
>> Marc
>>
>>
>>
>>
>>> -----Urspr�ngliche Nachricht-----
>>> Von: michael shek sia lim [mailto:[EMAIL PROTECTED]]
>>> Gesendet: Samstag, 14. Dezember 2002 01:20
>>> An: [EMAIL PROTECTED]
>>> Betreff: Re: AW: adding Javascript
>>>
>>>
>>> The discussion in the link below does not seem to be conclusive. Is
>>> there any other solution to Javascript used in conjunction with
>>> Velocity?
>>>
>>> cheers
>>> michael
>>>
>>>
>>>
>>>
>>>
>>>> Hi,
>>>> it is described in the list archive.
>>>> Start here for example:
>>>>
>>>
http://www.mail-archive.com/[email protected]/msg07518.html
>>>>
>>>> Marc
>>>>
>>>>
>>>>> -----Urspr�ngliche Nachricht-----
>>>>> Von: michael shek sia lim [mailto:[EMAIL PROTECTED]]
>>>>> Gesendet: Freitag, 13. Dezember 2002 14:30
>>>>> An: [EMAIL PROTECTED]
>>>>> Betreff: adding Javascript
>>>>>
>>>>>
>>>>> Dear All,
>>>>>
>>>>> If a javascript is to be added to my Turbine application, where can
>>>>> I find the <head> </head> pair in the setup so that I can achieve
>>>>> what I intend to do?
>>>>>
>>>>> cheers
>>>>> michael
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> To unsubscribe, e-mail:
>>>>> <mailto:[EMAIL PROTECTED]>
>>>>> For additional commands, e-mail:
>>>>> <mailto:[EMAIL PROTECTED]>
>>>>>
>>>>
>>>>
>>>> --
>>>> To unsubscribe, e-mail:
>>>> <mailto:[EMAIL PROTECTED]> For additional
>>>> commands, e-mail: <mailto:[EMAIL PROTECTED]>
>>>
>>>
>>>
>>>
>>> --
>>> To unsubscribe, e-mail:
>> <mailto:[EMAIL PROTECTED]>
>> For additional commands, e-mail:
>> <mailto:[EMAIL PROTECTED]>
>>
>>
>> --
>> To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
>> For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>
>>
>
>
> --
> To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>
>
>
>
> --
> To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]> For additional
> commands, e-mail: <mailto:[EMAIL PROTECTED]>




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







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

Reply via email to