'listIdx' with quotes round it is just the
string 'listIdx'.
We can assume that list is of type List and so can be accessed using [] with numbers only. So list[1] is fine, and list[someAttributeThatCanConvertToANumber] is also fine. But list["someAttributeThatCanConvertToANumberButWontAsItIsInQuotes"] will not work.
Actually as it stands F also does not work (exception gets thrown for same reason as E).
Here's the error you get for F as it is now:
The EL expression ${list[list['listIdx']]} throws a ServletException
(The "[]" operator was supplied with an index value of type "java.lang.String" to be
applied to a List or array, but that value cannot be converted to an integer.)
I've logged 'F' as an errata, and it's currently in the 'unconfirmed' bucket here:
http://www.oreilly.com/catalog/headservletsjsp/errata/
Cheers,<br />Roger<br />SCJP 1.2, 1.4, SCBCD 1.3, SCWCD 1.4