Когда вы пишете ${sName}
, это не значит, что страница ищет локальную переменную с именем sName
. Локальные переменные у вас нематериальные.
Вы можете установить sName
для последующего использования с чем-то вроде request.setAttribute("sName", "some value")
из скриптлета. Или вы можете использовать тег JSTL: <c:set var="sName" value="some value"/>
.
Также есть возможность использовать скриптлет для вывода значения вашей локальной переменной, как вы заметили: <%= sName %>