To fix I extracted template/simple/select.ftl from the
struts2-core-2.0.7.jar to WEB-INF/classes/template/simple/select.ftl
I then
changed line 60 from:
<option value="${itemKey?html}"<#rt/>
to:
<option value="${itemKeyStr?html}"<#rt/>
and I inserted the following line before line 60:
<#assign itemKeyStr=itemKey.toString() />
I got the idea from another .ftl file that does something similar.
The error message this fixed was:
Error on line 60, column 22 in template/simple/select.ftl
Expecting a string, date or number here, Expression itemKey is instead a
freemarker.ext.beans.BooleanModel
The problematic instruction:
----------
==> ${itemKey?html} [on line 60, column 20 in template/simple/select.ftl]
in user-directive s.iterator [on line 41, column 1 in
template/simple/select.ftl]
----------
Java backtrace for programmers:
----------
freemarker.core.NonStringException: Error on line 60, column 22 in
template/simple/select.ftl
Expecting a string, date or number here, Expression itemKey is instead a
freemarker.ext.beans.BooleanModel
-Jason