ОК, я понял это. Приведенный выше код работает. Но это НЕ работает.
<input type="text" name="foobar.value" value="-123.456">
Очевидно, OGNL интерпретирует отрицательное число как строку. Я не уверен, как с этим справиться без конвертера. Приятно знать, что он будет обрабатывать положительные и исходные значения Float.
Я провел дальнейшие исследования по поводу этой ошибки. http://issues.apache.org/struts/browse/WW-2971
Он закрыт, но версия 2.1.8 отсутствует в Maven, и последняя версия Struts2 пока не использует его. (
Я думаю, что сейчас напишу конвертер.