On Sun, Oct 19, 2008 at 04:26:45PM +0200, Zdenek Tronicek wrote:
>> Tapiku, co bys mi s takovou argumentaci odvodil z existence
>> <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> ? ;)
>
> Tuhle poznamku chapu (mozna nespravne) jako vyjadreni averze vuci JSTL SQL.
> Ta ovsem neni na miste, protoze:
>
> 1) NAVRHOVE VZORY NEJSOU DOGMA. To, ze neni neco v souladu s nejakym
> navrhovym vzorem (a muze to byt i proslule MVC), neznamena, ze je to spatne
> reseni.
Ano, to je pravda, navrhove vzory nejsou dogma. Howgh!
>
> 2) Pro nektere veci je JSTL SQL jen tezko prekonatelne. Pokud pujde napr. o
> vypsani obsahu databazove tabulky, jen tezko budeme hledat elegantnejsi
> reseni, nez je toto:
Elegantnejsich reseni je kupa. Protoze tento vysledek tezko bude pro jine nez
administratorske ucely, radil bych spis pouzit nejaky DB-oriented nastroj.
Toto ma mnoho nevyhod - napriklad je to napsane pouze pro konkrentni podobu
konkretni tabulky, takze pro kazdou tabulku musis psat novou JSP stranku ;-)
Neni lepsi rovnou pouzit <form><input type="text" name="sqlquery"></form> ?
Navic proc quli necemu takovermu spoustet cely aplikacni server?
A nebo proc uz rovnou nejit do
#!/bin/sh
mysql -t -u root -p root_passwd -r --batch -e select_z_tabulky_rates.sql
ExchangeDatabase
?
>
> <sql:setDataSource dataSource="jdbc/ExchangeDS"/>
> <sql:query var="rates">
> SELECT MENA1, MENA2, KURZ FROM KURZY
> </sql:query>
> <table border="1" cellpadding="5" cellspacing="5">
> <c:forEach var="rate" items="${rates.rows}">
> <tr>
> <td><c:out value="${rate.MENA1}"/></td>
> <td><c:out value="${rate.MENA2}"/></td>
> <td><c:out value="${rate.KURZ}"/></td>
> </tr>
> </c:forEach>
> </table>
>
> A ze to neni v souladu s MVC? Na to odpovidam otazkou "No a?". Navrhove
> vzory maji smysl tam, kde neco prinaseji. Zavedeni samostatneho controlleru
> by tady prineslo jen nabobtnani aplikace, ktere je pri takto jednoduchem
> zadani (tj. "vypsat tabulku smennych kurzu"), neopodstatnele.
Musim se priznat, ze zadani "Vypis tabulku smennych kurzu" mi prijde jako
zadani neceho, co neodpovida dle definice vlastnosti algoritmu,
tedy univerzalnost ;-) No nic.
> Odmitat toto reseni je jako prohlasit o kalkulacce, ktera ma jen zakladni
> operace +, -, *, /, ze je spatna a pritom pominout ucel pouziti. Jestlize
> tuto kalkulacku chcete pouzivat ve smenarne pro prepocet men, tak je
> zbytecne po ni pozadovat napr. statisticke funkce ci vykreslovani grafu.
No myslim, ze toto zrovna nebyl dobry priklad. At uz je kalkulacka sebeblbejsi,
ten controller v sobe ma ;-) Nedokazu si predstavit, ze by nasobicka byla
primo zadratovana v radici displaye a ze by umela sice nasobit, ale jenom suda
cisla s prvocislem ;-)
> Dalsi dobre pouziti JSTL SQL je v prototypovani aplikaci, kde nas veci jako
> osetreni chyb vetsinou netrapi.
Hmmm. Muzes uvest priklad, kdy pouzijes JSTL SQL u prototypovani? Ja treba
kdyz prototypuju, tak jdu shora dolu. Databazi vetsinou resim az nakonec.
Oto 'tapik' Buchta
PS: Omlouvam se za kapku sarkasticky ton, ale dneska mam proste takovou naladu
:-D :-) :-P