Я получаю ошибку «Duplicate Local Variable» в JSP после сборки в RAD. У меня есть те же имена переменных внутри тегов scriptlet, что и другая логика: текущие/логические итерационные теги. Пример кода. <logic:present> <% int var1 = 5; %> </logic:present> ................... <logic:present> <% int var1 = 5; %> </logic:present>
Поскольку переменная находится в разных пределах, они не дублируются. Являются ли переменные одинаковыми? Если нет, это какая-то проблема компиляции/проверки в RAD? Пожалуйста, порекомендуйте.Дублировать локальную переменную в JSP в RAD
ответ
Они действительно в том же объеме, что они не были бы, если бы это было так, например:
<logic:present>
<% {int var1 = 5; }%>
</logic:present>
...................
<logic:present>
<% int var1 = 5; %>
</logic:present>
В конце концов, все будет переведено в один метод, то почему ваш код лаборант генерирует вам ошибку , Так или иначе, поскольку BalusC сказал, что не рекомендуется использовать скрипты.
RAD является правильным. Вы используете скриптлеты (те старомодные <% %>
вещи, которые должны быть avoided) вместо taglibs (например, <prefix:name>
) для работы с данными на стороне сервера. Сценарии не работают в той же области, что и те теги, которые, как вы ожидаете. Всеscriptlets объявлено <% %>
делить такое же местный охват. Избавьтесь от них и замените их соответствующими taglib. Поскольку функциональное требование неясно, трудно дать вам хорошо подходящий пример кода правильного подхода.