Это не ускользает. Это просто печать переменной скриптлета, как будто это переменная 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);