Osobne mi prijde podstatne jednodussi vsechny vstupy nacpat do DynaForm (respektive do DynaValidatorForm), clovek se pak podstatne min napise (a to zpomaleni je stejne v takhle relativne slozitym frameworku jedno).
Jinak pro puristy - validator ve Struts v 1.x neprodukuje korektni HTML 4.01 Strict (a samozrejme ani XHTML 1.x strict), cpe na <script> atribut language :)
Obecne spravnejsi je business vrstve predavat nikoliv hola data po kouskach, ale objekt, takze by pak nebylo public CalculateBean(int, int) ale public CalculateBean(CalculateDTO dto), ktere by vypadalo asi takto:
class CalculateDTO{
...
public void setN1(int n1){...}
public void setN2(int n2){...}
public int getN1(){...}
public int getN2(){...}
}
a vrstva controleru (NumbersAction) by obsahovala asi toto:
...
NumbersForm theForm = (NumbersForm) form;
CalculateDTO dto = new CalculateDTO();
BeanUtils.copyProperties(dto, theForm);
CalculateBean theBean = new CalculateBean(dto);
ResultBean result = theBean.solve();
....
predavani dat v objektech se dela proto, ze to snizuje cas a pripadne sitovou zatez (pri vetsich aplikacich, rozdelenych na vice serveru), ale zde to asi nebude dulezite :)
Hezke priklady lze najit treba na www.reumann.net
Ale clanek hezky, je treba pochvalit .