2016-07-28 11 views
0

Я не знаю, возможно ли это, потому что у меня нет сильных знаний в JavaScript.Как я могу использовать значение переменной java в JavaScript

Я хочу использовать переменную Java в JavaScript, и XHTML код, у меня есть путь к файлу в переменной Java: applicationDadesVersioBB.rutaFitxerLog, которые я отображения следующим образом в XHTML страницы в таблице, не следует:

<tr> 
    <th scope="row">#{literalsCore['Entorn.FitxerLog']}</th> 
    <td> 
    <a href="#{applicationDadesVersioBB.rutaFitxerLog}" onClick="descarga([[${applicationDadesVersioBB.rutaFitxerLog}]])">#{applicationDadesVersioBB.rutaFitxerLog}</a> 
    </td> 
</tr>   

до сих пор все это хорошо, но то, что я хочу сделать, это когда-то путь будет нажата, файл должен быть загружен, что я не в состоянии сделать с: onClick="descarga([[${applicationDadesVersioBB.rutaFitxerLog}]])

функция Descarga JavaScript:

<script type="text/javascript"> 
    function descarga(file) 
    { 
     window.location=file; 
    } 
</script> 

Я думаю, что проблема заключается в преобразовании значений переменной java в значения javascript.

Я пытался сделать это не меняя onClick="descarga([[${applicationDadesVersioBB.rutaFitxerLog}]])" к onClick="descarga("#{applicationDadesVersioBB.rutaFitxerLog}")"

, но не так, любая помощь?

+0

', с которым я не умею общаться, - почему? в чем проблема? –

+0

Путь к файлу отображается правильно, но когда я нажимаю его, я предполагаю, что он должен вызвать функцию descarga, которую у меня есть в моем коде, чтобы загрузить файл, но он не работает, он не загружает файл. – rainman

+0

Каково определение 'descarga'? –

ответ

0

вам нужно в кавычки строку

onClick="descarga('[[${applicationDadesVersioBB.rutaFitxerLog}]]')" 
+0

Я получаю эту ошибку: java.lang.IllegalArgumentException: java.net.URISyntaxException: Недопустимый символ в пути по индексу 20: http://0.0.0.0//agd/[[C:Documentumlogslog4j.log]] \t at org .ocpsoft.urlbuilder.util.Decoder.path (Decoder.java:19) \t на org.ocpsoft.urlbuilder.AddressBuilder.pathEncoded (AddressBuilder.java:147) \t в org.ocpsoft.urlbuilder.AddressBuilderPort.pathEncoded (AddressBuilderPort .java: 54) \t в org.ocpsoft.rewrite.servlet.impl.BaseHttpRewrite.getInboundAddress (BaseHttpRewrite.java:88) \t на org.ocpsoft.rewrite.servlet.impl.HttpInboundRewriteImpl.getAddress (HttpInboundRewriteImpl.java: – rainman

+0

я полагаю, потому что это файл, который у меня локальный, и не U RL право? – rainman

+0

Ehm ...зачем вам нужно скачать файл, который у вас уже есть? –

1

Я не уверен, что вы пытаетесь сделать, но я помню, полезный «взломать», чтобы сделать это в PHP, например ... Вы создать скрытый ввод в вашем файле HTML и установить его значение для applicationDadesVersioBB.rutaFitxerLog. Затем в вашем обработчике кликов вы просто получаете элемент ввода благодаря его идентификатору, например, и вы читаете значение.

Надеюсь, что это поможет