わかりました、私はそれを理解しました。私は単純なコンポーネント MapField を行いました:
@Parameter(required=true)
Map<String, String> map;
@Parameter(required=true, allowNull=false, defaultPrefix = BindingConstants.LITERAL)
String key;
public String getMapValue() {
return map.get(key);
}
public void setMapValue(String value) {
map.put(key, value);
}
tml:
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd">
<t:textfield value="mapValue"/>
</html>
それでおしまい。これで、他の tml で使用できるようになりました。
<t:mapField key="existingOrNot" t:map="myMap"/>
myMap
ページでは、プロパティとしてのみ必要です。
@Property @Persist Map<String, String> myMap;
おそらく、追加のすべてのhtmlパラメーターをテキストフィールドに渡すなど、やるべきことがもっとあります