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

Odpovedet emailem