2013-04-12 2 views
1

У меня есть код JS, который я хочу преобразовать на FTL, чтобы пользователи не могли просматривать логику, лежащую за ней. Это возможно?Преобразование логики JS в FTL

Я использую < #if> и < #assign> для логики, но не знаю, как начать. найти любые другие ресурсы и выглядит так, как документация Freemarker является болезненной.

<script type="text/javascript"> 
    var ref = document.referrer, 
     currentPageURL = document.URL, 
     expectedURL = "http://127.0.0.1"; 

    function getUrlVars(href) 
    { 
     var vars = [], hash; 
     var hashes = href.slice(href.indexOf('?') + 1).split('&'); 
     for(var i = 0; i < hashes.length; i++) 
     { 
      hash = hashes[i].split('='); 
      vars.push(hash[0]); 
      vars[hash[0]] = hash[1]; 
     } 
     return vars; 
    } 

    var googleURL = ref.match(/^https?:\/\/([^\/]+\.)?google\.com(\/|$)/i); 
    if ((googleURL && (currentPageURL == expectedURL)) { 
     //do stuff. 
    } 
    </script> 

ответ

1

Ну, кажется, не getUrlVars быть использован в любом месте, но если вам нужны запросы параметров вы можете получить их с ${RequestParameters['test']}, The ссылающейся и текущий URL не доступны, так что вам нужно отправить их из кода серверной к движку шаблона. то это условие просто равное <#if $referrerFromJava?matches("^https?:\/\/([^\/]+\.)?google\.com(\/|$)">. Но если вы переместите все это на проверку на сервер, просто сделайте это в backend-коде и отправьте переменную в ftl, что-то вроде ${isFromGoogle}

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