谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

Map-backed ActionFormの扱い

StrutsのActionFormは、
Map-backed ActionForm(マップバックドアクションフォーム)とか、
List-backed ActionForm(リストバックドアクションフォーム)とか使えて便利。


http://struts.apache.org/1.3.8/userGuide/building_controller.html#map_action_form_classes
使い方なんかは公式のドキュメントを参照。


で、S2Strutsで、このMap-backed ActionFormを使う場合、
JSP側の記述は、ドキュメント通り

<html:text property="xxx(yyy)" />

という記述でOKだけど、
ActionForm側の記述はドキュメント通りにいかない。

public String getXxx(String key)
{
    return xxxMap.get(key);
}

public void setXxx(String key, String value)
{
    return xxxMap.put(key, value);
}

という形式はダメで

public String getXxx()
{
    return xxxMap;
}

にしないと、値が入らない(というかエラーになる)。
少なくとも、S2Struts-1.3.0-RC1ではそういう状況みたい。