Обновление списков списков в Tapestry4 с использованием текстовых полей и одной кнопки отправки - PullRequest
1 голос
/ 14 апреля 2010

В Tapestry 4 я пытаюсь выполнить итерацию по списку списков (технически это список объектов, у которых есть список строк в качестве поля данных). В настоящее время я делаю это с помощью «вложенных» для компонентов.

(Это псевдокод)

<span jwcid="Form">
<span jwcid="@For" source="ognl:Javaclass.TopLevelList" value="ognl:SecondLevelList" index="ognl:index">
<span jwcid="@For" source="ognl:SecondLevelList.List" value="ognl:ListItem" index="ListItemIndex">
<span jwcid="@TextField" value="ognl:ListItem"/>
<span jwcid="@Submit" listener="ognl:listeners.onSubmit"/>
</span></span></span>

Затем прослушиватель onSubmit обращается к свойствам страницы индекса и индекса ListItem, а также к свойству страницы ListItem, чтобы правильно обновить список в Javaclass.TopLevelList.

Это прекрасно работает, но выглядит ужасно и неудобно для конечного пользователя. Я бы предпочел как-то смоделировать эту функцию, используя только одну кнопку отправки внизу страницы.

Я рассмотрел как-то использовать перекрывающий компонент формы, чтобы получить список «компонентов управления формой» внутри него, а затем (с большой осторожностью) проанализировать соглашения об именовании гобелена, чтобы восстановить функциональность индексов.

Если кто-нибудь знает, как это сделать, или может объяснить компонент формы (как / когда он отправляет и т. Д.), Он будет очень признателен.

...