[jsr-314-open] h:outputScript doesn't work inside composite components

David Geary clarity.training at GMAIL.COM
Mon May 11 10:40:40 EDT 2009


I have a login composite component that looks like this:

<composite:interface>...</composite:interface>
..
<composite:implementation>
              <script type="text/javascript">
                function checkForm(form) {
                  var name = form['#{cc.clientId}:name'].value;
                  var pwd = form['#{cc.clientId}:password'].value;

                  if (name == "" || pwd == "") {
                    alert("Please enter name and password.");
                    return false;
                  }
                  return true;
                }
            </script>
  ...
</composite:implementation>

I have components with "name" and "password" component ids in a form in the
.. part of the implementation. That works fine.

However, if I pull the JS out into its own file, and do this:

<composite:interface>...</composite:interface>
..
<composite:implementation>
  <h:outputScript library="components/login" name="login.js"/>
  ...
</composite:implementation>

h:outputScript puts the JS in the page, but the JS no longer works because
the expression cc.clientId evaluates to an empty string.

That's a bug, is it not?


david
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jsr-314-open-mirror/attachments/20090511/cf6efa57/attachment.html 


More information about the jsr-314-open-mirror mailing list