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