As Howard said, Tapestry doesn't parse your .tml to avoid including JavaScript files twice. Instead of using <script> in your template, use the @IncludeJavaScriptLibrary annotation and the repetition won't happen again.

On Fri, 12 Nov 2010 16:16:38 -0200, iberck <ibe...@gmail.com> wrote:

Yes, I'm using the tapestry capabilities,the only diference is I'm using
"${asset:context:js/jquery-1.4.2.min.js}" in the layout and
@IncludeJavaScriptLibrary("context:js/jquery-1.4.2.min.js") in the mixin,
this is my code:

Layout.tml:
------------------------------------------------------
<html xmlns="http://www.w3.org/1999/xhtml";
      xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd";
      xmlns:p="tapestry:parameter">
    <head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
        <script type="text/javascript"
src="${asset:context:js/jquery-1.4.2.min.js}"></script>
         ...
    </head>
...
</html>
------------------------------------------------------


Mixin:
------------------------------------------------------
@IncludeJavaScriptLibrary({
    "context:js/jquery-1.4.2.min.js",
    "context:js/jquery.maskedinput-1.2.2.min.js",
    "InputMask.js"
})
public class InputMask {

    @Parameter(required = true, defaultPrefix = BindingConstants.LITERAL)
    private String mask;
    @InjectContainer
    private TextField parent;
    @Inject
    private RenderSupport renderSupport;

    @AfterRender
    void afterRender() {
        renderSupport.addInit("inputmask", parent.getClientId(), mask);
    }
}
------------------------------------------------------


InputMask.js:
------------------------------------------------------
Tapestry.Initializer.inputmask = function(elementId,mask) {
    jQuery("#"+elementId).mask(mask);
}
------------------------------------------------------


This is the output html head copy from firebug:
------------------------------------------------------
<head>
        <meta content="text/html; charset=UTF-8" http-equiv="content-type">
        <link type="text/css" rel="stylesheet"
href="/tara-web/assets/ctx/5426f79eddb28fae/css/t5-components.css">
        <link type="text/css" rel="stylesheet"
href="/tara-web/assets/classpath/5426f79eddb28fae/org/got5/tapestry5/jquery/themes/ui-lightness/jquery-ui-1.8.custom.css">
        <link type="text/css" rel="stylesheet"
href="/tara-web/assets/ctx/5426f79eddb28fae/css/mensajes.css">
        <link href="/tara-web/assets/ctx/5426f79eddb28fae/layout/styles.css"
type="text/css" rel="stylesheet">
        <link href="/tara-web/assets/ctx/5426f79eddb28fae/css/botones.css"
type="text/css" rel="stylesheet">
        <script src="/tara-web/assets/scriptaculous/5.1.0.5/prototype.js"
type="text/javascript"></script>
        <script src="/tara-web/assets/scriptaculous/5.1.0.5/scriptaculous.js"
type="text/javascript"></script>
        <script src="/tara-web/assets/scriptaculous/5.1.0.5/effects.js"
type="text/javascript"></script>
        <script src="/tara-web/assets/tapestry/5.1.0.5/tapestry.js"
type="text/javascript"></script>
        <script src="/tara-web/assets/blackbird/5.1.0.5/blackbird.js"
type="text/javascript"></script>
        <script src="/tara-web/assets/tapestry/5.1.0.5/tapestry-messages.js"
type="text/javascript"></script>
<script src="/tara-web/assets/ctx/5426f79eddb28fae/js/jquery-1.4.2.min.js"
type="text/javascript"></script>
        <script
src="/tara-web/assets/ctx/5426f79eddb28fae/js/jquery.maskedinput-1.2.2.min.js"
type="text/javascript"></script>
        <script src="/tara-web/assets/app/5426f79eddb28fae/mixins/InputMask.js"
type="text/javascript"></script>
<script src="/tara-web/assets/ctx/5426f79eddb28fae/js/jquery-1.4.2.min.js"
type="text/javascript"></script>
</head>   
------------------------------------------------------

As you can see the jquery library is 2 times:
<script src="/tara-web/assets/ctx/5426f79eddb28fae/js/jquery-1.4.2.min.js"
type="text/javascript"></script>
<script src="/tara-web/assets/ctx/5426f79eddb28fae/js/jquery-1.4.2.min.js"
type="text/javascript"></script>

Thanks in advance



--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
Consultor, desenvolvedor e instrutor em Java, Tapestry e Hibernate
Coordenador e professor da Especialização em Engenharia de Software com Ênfase em Java da Faculdade Pitágoras
http://www.arsmachina.com.br

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

Reply via email to