You are doing a few odd things on your page, and are making a mis-assumption.
Firstly, you do not need to embed the <c:set>'s in the useBean tags. I don't think it will cause any problems, but it's a bit misleading.
Secondly, why are you mixing scriptlet expressions with JSTL as in:
Or, is the scriptlet expression just there for diagnostic purposes?
Lastly, you are assuming that the tag:
will add an entry into the map at scoped variable prMap. If you examine the size of the map before and after you will see that it remains at zero. The 'target' attribute is intended to set the properties of beans. It'd be nice if it could be used to add entries into maps, but that doesn't appear to be the case.
I can't be sure without looking at the JSTL source, but I imagine that the tag is looking for a bean mutator for the property identified by pr1_rank and failing when it doesn't find one.
Rather than trying to set up data structures in the JSP page itself, I'd step back and evaluate following the more common pattern of having a servlet controller set up the strutures needed for the page (where, in Java code, you have all the flexibility in the world) and then forward to the JSP in order to render the view. [ November 05, 2004: Message edited by: Bear Bibeault ]