MayaaとSAStrutsのちょっと相性の悪いところ

今はSAStruts + mayaaで開発しているのですが、S2Struts + mayaaのノリでStrutsのtaglibなどを使うとpublicフィールドとの相性が悪くてうまく動かないことがありますね。mayaaの利点のひとつに既存のtaglibを流用できるというのがあるので、これはちょっと痛いのではないかと思います。
たとえば、

<m:forEach m:id="loop" items="${dto.employeeList}" var="employee" />
<bean:write m:id="employeeNo" name="employee" property="employeeNo" />

などとするとemployeeはMapでラップされていないから、「getterがありません」などと言われてしまいます。
なので、

<m:forEach m:id="loop" items="${dto.employeeList}" var="employee" />
<m:write m:id="employeeNo" value="${employee.employeeNo}" />

と書くように改めるのがいいんですかね。
でも、<bean:write>ならともかく、<html:text>の代替をmayaaでやるのはかなり面倒そうです。
どうにか<html:text>を使えないものかと調べてみると、ListWrapperでラップすれば大丈夫らしいということがわかりました。
ということは…
default.mayaa

<m:beforeRender><![CDATA[
	var ListWrapper = Packages.org.seasar.struts.action.ListWrapper
]]></m:beforeRender>

hoge.mayaa

<m:forEach m:id="loop" items="${new ListWrapper(dto.employeeList)}" var="employee" />
<m:write m:id="employeeNo" value="${employee.employeeNo}" />

ってことでしょうかね。
mayaaのためにActionの中でラップするのは変な気がしますし。
まあ、いずれにせよpublicフィールドを使うなら「mayaaS2Strutsの時と全く変わりません!」というわけにはいかない、ということですね。
(あるいはdtoにlistを詰めてるのがおかしい?)