The problem is here:
The items can be either a
String, like you have in your code, or an iterable, like you want.
Since you aren't using EL tags, it iterates over each character in the String "authorbookslist". What you want to do is this:
Now you also try to do this:
If, like you said in the post, you expect to get a Map (as in java.util.Map) this ${autormap.set} EL will try to call the authormap.getSet() method. But Map has no such method. Fortunately for you, you don't actually have to get the entrySet in order to iterate over a map. This code should work fine:
Let me clean up your code a bit, because I saw few other problems:
I removed some unneeded c:sets to avoid confusion and to save on memory. I took out a c:out statement because it had an EL error and was not needed anyway. Them I added the changes I told you about at the top of this message.
[ August 09, 2008: Message edited by: Steve Luke ]