In HFSJ it is said that when in <c:set> tag when the value is null or blank then it will not add the variable in to the scope instead if the variable is already present then it will search for it and remove it from that scope based on this information when i say
<c:set var="g" value="12" /> value of variable g is ${g} it will print 12 that is correct
when i say value of unknow variable is ${asd} where asd is a undeclared variable it prints blank(nothing) it is also correct because it cant find asd variable in any of the scope
based on the statements given in the HFSJ i tried this line
<c:set var="g" value="null" /> value of variable g after making it as null is ${g}
now value attribute is having null so the variable g has to be removed from the scope so the out put should be same as the that of variable asd but this is not happening i am getting value of variable g after making it as null is null that means <c:set> is not removing variable g from scope and it is taking "null" has a value itself
is there any mistakes in what i have done.
also <c:set target="${cm.map}" var="k" value="12" scope="request" > even this tag works fine notice i have both target and var attribute both at the same time.
all the other JSTL tags like <c:if>,<c:when>,<c:forEach> are working fine.