Передача свойства Struts 2 в JavaScript - PullRequest
1 голос
/ 31 марта 2012

Я пишу следующий код в simulate.jsp, чтобы получить с сервера некоторую строковую строку "SimulationInfos":

<s:property id="simulationInfos" value="simulationInfos" /><br/>

Когда возвращен файл simulate.jsp, я вижу, что существующая String SimInfo существует.

Мой вопрос: как я могу передать simulationsInfos в java-скрипт?

Я попробовал следующее:

<script type="text/javascript">
var data=document.getElementById("simulationInfos").value;
console.log("data is: ", data);

And with jQuery:
var data=$("#simulationInfos").val();
</script>

, и я получил следующую ошибку в Firebug: UncaughtTypeError: Невозможно прочитать свойство 'value' со значением NULL

Как передать переменную некоторых стоек 2 в javascript?

Ответы [ 3 ]

2 голосов
/ 31 марта 2012

Во-первых, вы должны взглянуть на код HTML, который генерирует JSP. Это может объяснить, почему вы не можете получить значение. Тогда, возможно, вы увидите, что вам нужен дополнительный HTML-код. Например:

<span id="simulationInfos"><s:property value="simulationInfos" /></span>

А в тебе скрипт:

alert("data is: " + simulationInfos.innerHTML);

Если вы посмотрите на тег свойства doc , вы увидите, что нет никакого параметра "id".

Редакция : исправление JS.

1 голос
/ 31 марта 2012

Похоже, ваш идентификатор - simulationInfos, но вы ищете simulateInfos в своем коде js. Так как ваш getElementById ничего не возвращает, для (нулевого) типа возврата нет значения.

Кроме того, в console.log используйте + для объединения строк, а не запятую.

0 голосов
/ 09 сентября 2013

Если вы не хотите отображать значения свойств, используйте тег s: hidden:

<s:hidden id="simulationInfos" value="%{simulationInfos}" name="simulationInfos"/>

<script type="text/javascript">
var data=$("simulationInfos").value;
console.log("data is: ", data);
</script>
...