2016-03-11 6 views
1

Я использую символы <o:commandScript>-tag для данных ajax-load на прокрутке. В настоящее время этот фрагмент отлично работает, но мне интересно, если можно ссылаться на FunctionName от внешнего JS-файла, чтобы избежать определения всех этих сценариев в XHTML-файлов:<o: commandScript>: имя ссылки на имя JS имя функции

products.xhtml:

<o:commandScript name="loadNext" actionListener="#{productBean.loadNext}" render="products"/> 
     <script type="text/javascript"> 
      $('.scrollSpy').on('inview.uk.scrollspy', function() { //UIKit scrollspy listener 
       loadNext(); 
      }); 
     </script> 

     <h:panelGroup id="products"> 
      <div class="box scrollSpy"> 
       ... 
      </div> 
     </h:panelGroup> 

Я ищу STH как:

products.xhtml:

<o:commandScript name="GENERIC.loadNext" 
       actionListener="#{productBean.loadNext}"/> 

generic.js:

var GENERIC = (function() { 

    var my = {}; 

    my.loadNext = function(){} //empty 

    my.productsLoaded = function(){ 
    //doSomething 
    } 

    $(document).ready(function(){   
     $('.scrollSpy').on('inview.uk.scrollspy', function() { 
      my.loadNext(); 
     });  
    });  

    return my; 

})() 

, но я получаю

[o:commandScript 'name' attribute 'GENERIC.loadNext' does not represent a valid script function name.] 

в то время как общие вызовы от generic.js работают нормально, например,

<f:ajax listener="#{productBean.refresh}" render="products" onevent="GENERIC.productsLoaded"/>

заранее спасибо за советы.

ответ

2

Это требование просто не принималось во внимание с самого начала. В соответствии с issue 218 Я исправил его для текущего 2.3 SNAPSHOT.

<o:commandScript>won't anymore считать (правильно установленный) период недействительным и опустить явное объявление var, когда период присутствует в названии.

+0

просто играл с запеченным снимком. который чувствует себя действительно хорошо. 3..2..1: большое спасибо! – Steve

+0

Добро пожаловать. На всякий случай, 2.3-RC1 только что был выпущен. Будет в Maven в течение получаса. – BalusC

 Смежные вопросы

  • Нет связанных вопросов^_^