Как передать объект в качестве параметра функции скрипта Java на onClick

0

Моя главная цель: когда я нажимаю ссылку, нужно открыть новое окно и отобразить содержимое всего файла журнала в этом окне, и в окне не должно быть адресной строки и кнопок навигации (Назад, Вперед).

Есть ли другой подход, который я могу достичь своей цели?

Вот что я пытаюсь сделать, я пытаюсь вызвать метод java-скрипта, передав URL-адрес файла журнала и подумав о реализации кода для открытия нового окна

<table id="serverLogsStats" class="serverLogsView">
   <c:forEach var="log" items="${logsList}" varStatus="i" >
      <tr>
        <td>${log.name}</td>            
        <td><a href="#" onclick="openLog('${log}');">Open log</a></td>        
      </tr>
   </c:forEach>
</table>


<script>
function openLog (log) {
    var abc = log.name;
    alert(abc);    
}
</script>

Когда я передаю объект "log" в функцию openLog, значение передается как String. Я хочу, чтобы журнал был передан как объект.

Здесь мой вывод идет как неопределенный.

Если я поставлю "alert (log)"; он печатает адрес объекта

Теги:
spring-mvc

1 ответ

1

Это должно работать:

<table id="serverLogsStats" class="serverLogsView">
   <c:forEach var="log" items="${logsList}" varStatus="i" >
      <tr>
        <td>${log.name}</td>            
        <td><a href="#" onclick="openLog('${log.name}');">Open log</a></td>        
      </tr>
   </c:forEach>
</table>


<script>
function openLog(logName) {
    alert(logName);    
}
</script>

Вы не можете использовать java-объекты и использовать их непосредственно как объект JS, вы можете передавать только примитивы.

Для вашего варианта использования вы можете иметь сервер URL-адреса, беря имя журнала в качестве параметра и отображая его содержимое.

  • 0
    Это работает, но я хочу передать путь вместо имени. Когда я передаю путь, выходная строка не имеет "/" в пути. Например, если я передаю «c: \ abcd \ edfg», то метод сценария java показывает его как «C: abcd edfg». Это не сработало для "C: \\ abcd \\ defg"
  • 0
    Вам нужно уйти, но наличие пути с «c: \» в вашем URL - это плохо, очень плохо (что, если кто-то изменит URL, чтобы отобразить что-то чувствительное)
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню