Печать переменной сценария Java, как если бы она была переменной JavaScript - PullRequest
0 голосов
/ 24 декабря 2009

привет мне нужно вывести переменную java внутри вызова javascript внутри тега внутри jsp!

например:

 <% String param = "hello";%>

<dmf:checkbox  name="checkbox"
  onclick = "selectAll(<%=param%>)"
/>

сгенерированный javascript:

selectAll(<%=param%>),this); но я на самом деле хочу что-то вроде

selectAllCheckBoxes(Hello),this);

Ответы [ 3 ]

2 голосов
/ 24 декабря 2009

Это не ускользает. Это просто печать переменной скриптлета, как будто это переменная JavaScript.

Кроме того, ваши примеры сбивают с толку, они не совпадают друг с другом, а код Javascript синтаксически неверен. Я могу хотя бы сказать, что строковые переменные JavaScript должны быть заключены в кавычки. Если вы хотите в конечном итоге с

selectAllCheckBoxes('Hello', this);

, где Hello должно быть получено как значение локальной переменной name скриптлета (param является зарезервированным именем переменной, вы не должны использовать его самостоятельно), тогда вам нужно выполнить

selectAllCheckBoxes('<%= name %>', this);

Точно так же, если вы хотите получить

onclick="selectAll('Hello')"

нужно сделать

onclick="selectAll('<%= name %>')"

Тем не менее, я настоятельно рекомендую вам прекратить использовать старомодные скриптлеты, которые не поощряются уже более десяти лет. Программистам JSP было рекомендовано использовать taglibs и EL только для того, чтобы сделать код JSP более чистым, надежным и лучше обслуживаемым. Вы можете использовать taglibs, такие как JSTL , чтобы управлять потоком на странице JSP, и вы можете использовать EL , чтобы получить доступ к "внутренним" данным. Ваш пример можно заменить на:

<c:set var="name" value="Hello" />

...

selectAllCheckBoxes('${name}', this);
1 голос
/ 26 ноября 2011

Может быть, вы пытаетесь достичь этого?

var myVar = '<%= (String)request.getParameter("tab") %>'; 
loadtabs(myVar);
1 голос
/ 24 декабря 2009

Создайте все значение атрибута с помощью скриптлета, например:

<dmf:checkbox  name="checkbox"
   onclick = "<%= "selectAll(" + param + ")" %>" />
...