2010-10-28 6 views
0

Я получаю ошибку «Duplicate Local Variable» в JSP после сборки в RAD. У меня есть те же имена переменных внутри тегов scriptlet, что и другая логика: текущие/логические итерационные теги. Пример кода. <logic:present> <% int var1 = 5; %> </logic:present> ................... <logic:present> <% int var1 = 5; %> </logic:present> Поскольку переменная находится в разных пределах, они не дублируются. Являются ли переменные одинаковыми? Если нет, это какая-то проблема компиляции/проверки в RAD? Пожалуйста, порекомендуйте.Дублировать локальную переменную в JSP в RAD

ответ

0

Они действительно в том же объеме, что они не были бы, если бы это было так, например:

<logic:present> 
    <% {int var1 = 5; }%> 
</logic:present> 
................... 
<logic:present> 
    <% int var1 = 5; %> 
</logic:present> 

В конце концов, все будет переведено в один метод, то почему ваш код лаборант генерирует вам ошибку , Так или иначе, поскольку BalusC сказал, что не рекомендуется использовать скрипты.

1

RAD является правильным. Вы используете скриптлеты (те старомодные <% %> вещи, которые должны быть avoided) вместо taglibs (например, <prefix:name>) для работы с данными на стороне сервера. Сценарии не работают в той же области, что и те теги, которые, как вы ожидаете. Всеscriptlets объявлено <% %> делить такое же местный охват. Избавьтесь от них и замените их соответствующими taglib. Поскольку функциональное требование неясно, трудно дать вам хорошо подходящий пример кода правильного подхода.