Rev 18 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
12 | soliveira | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
2 | <%@taglib prefix="mtw" uri="http://www.mentaframework.org/tags-mtw/"%> |
||
3 | |||
4 | <html> |
||
5 | <head> |
||
6 | |||
7 | <title>Mentawai Web Framework</title> |
||
8 | |||
9 | <style type="text/css" media="all"> |
||
10 | @import url("./style/maven-base.css"); |
||
11 | |||
12 | @import url("./style/maven-theme.css"); |
||
13 | </style> |
||
14 | |||
15 | <meta http-equiv="imagetoolbar" content="no" /> |
||
16 | <meta http-equiv="imagetoolbar" content="false" /> |
||
17 | |||
18 | <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" /> |
||
19 | <link rel="icon" type="image/gif" href="/favicon.gif" /> |
||
20 | <link rel="stylesheet" href="./style/print.css" type="text/css" media="print" /> |
||
21 | |||
22 | <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> |
||
23 | <meta name="author" content="Sergio Oliveira Junior" /> |
||
24 | <meta name="email" content="sergio.oliveira.jr@gmail.com" /> |
||
25 | |||
26 | <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" /> |
||
27 | <script type="text/javascript" src="jquery/jquery-1.6.4.min.js"></script> |
||
28 | <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> |
||
29 | |||
30 | <script language="JavaScript"> |
||
31 | |||
32 | $(document).ready(function() { |
||
33 | |||
34 | }); |
||
35 | |||
36 | function prepareLeftColumnDialog(myDialog, theTitle) { |
||
37 | |||
38 | options = { |
||
39 | autoOpen: false, |
||
40 | width: 800, |
||
41 | modal: true, |
||
42 | title: theTitle, |
||
43 | buttons: [ |
||
44 | { |
||
45 | text: "Save", |
||
46 | click: function() { $('#editLeftColumnForm').submit(); } |
||
47 | }, |
||
48 | { |
||
49 | text: "Cancel", |
||
50 | click: function() { $(this).dialog("close"); } |
||
51 | } |
||
52 | ] |
||
53 | }; |
||
54 | |||
55 | myDialog.dialog(options); |
||
56 | |||
57 | return myDialog; |
||
58 | } |
||
59 | |||
60 | function showEditLeftColumnDialog(pageName) { |
||
61 | |||
62 | $.getJSON('<mtw:contextPath />/Page.getLeftColumn.mtw', function(data) { |
||
63 | |||
64 | $('#editLeftColumnTextArea').val(data.leftColumnHTML); |
||
65 | |||
66 | myDialog = $('#editLeftColumnDialog'); |
||
67 | myDialog = prepareLeftColumnDialog(myDialog, "Edit Left Column"); |
||
68 | myDialog.dialog('open'); |
||
69 | }); |
||
70 | |||
71 | return false; |
||
72 | } |
||
73 | |||
74 | </script> |
||
75 | |||
76 | </head> |
||
77 | |||
78 | <body class="composite"> |
||
79 | |||
80 | <!-- For Testing --> |
||
81 | <div id="dialog" title="Dialog Title" style="display: none;">I'm in a dialog</div> |
||
82 | |||
83 | <div id="editLeftColumnDialog" style="display: none;"> |
||
84 | <form id="editLeftColumnForm" action="<mtw:contextPath />/Page.editLeftColumn.mtw" method="post"> |
||
85 | <table> |
||
86 | <tr> |
||
87 | <td> </td> |
||
88 | </tr> |
||
89 | <mtw:outError field="answer"> |
||
90 | <tr> |
||
91 | <td colspan="2"><span class="Negative" style="font-weight: bold;"><mtw:out /></span></td> |
||
92 | </tr> |
||
93 | </mtw:outError> |
||
94 | <tr> |
||
95 | <td colspan="2"><mtw:textarea id="editLeftColumnTextArea" name="html" style="width: 100%; height: 465px;" /></td> |
||
96 | </tr> |
||
97 | </table> |
||
98 | </form> |
||
99 | </div> |
||
100 | |||
101 | <div> |
||
102 | <table border="0"> |
||
103 | <tr> |
||
104 | <td><a href="/"><img src="images/logos/logo.png" border="0"></img></a></td> |
||
105 | <td align="right" valign="bottom"><img src="images/brazil.gif" border="0" width="20" height="13" /> <img src="images/usa.gif" width="20" height="13" border="0" /> <mtw:isLogged |
||
106 | negate="true"> |
||
107 | <a href="jsp/login.jsp">Login</a> |
||
108 | </mtw:isLogged> <mtw:isLogged> |
||
109 | <a href="<mtw:contextPath/>/Logout.mtw">Logout</a> (<mtw:out value="sessionUser.username" />) |
||
110 | </mtw:isLogged></td> |
||
111 | </tr> |
||
112 | </table> |
||
113 | </div> |
||
114 | |||
115 | <hr /> |
||
116 | |||
117 | <div id="leftColumn"><mtw:isLogged> |
||
118 | <mtw:hasAuthorization groups="admin, editor"> |
||
119 | <div style="text-align: right; padding-right: 8px; padding-top: 6px;"><a href="#" onclick="return showEditLeftColumnDialog('LeftColumn');">Editar</a></div> |
||
120 | </mtw:hasAuthorization> |
||
121 | </mtw:isLogged> |
||
122 | <div id="navcolumn"><%@ include file="menu.jsp"%> <br /> |
||
123 | </div> |
||
124 | |||
125 | </div> |
||
126 | |||
127 | <div id="bodyColumn"> |
||
128 | |||
129 | <h1>Notícias</h1> |
||
130 | <ul> |
||
131 | <li>Teste 1</li> |
||
132 | <li>Teste 2</li> |
||
133 | <li>Teste 3</li> |
||
134 | <li>Teste 4</li> |
||
135 | </ul> |
||
136 | <br /> |
||
137 | |||
138 | <h2>Notícias</h2> |
||
139 | <ul> |
||
140 | <li>Teste 1</li> |
||
141 | <li>Teste 2</li> |
||
142 | <li>Teste 3</li> |
||
143 | <li>Teste 4</li> |
||
144 | </ul> |
||
145 | <br /> |
||
146 | |||
147 | <h3>Notícias</h3> |
||
148 | <ul> |
||
149 | <li>Teste 1</li> |
||
150 | <li>Teste 2</li> |
||
151 | <li>Teste 3</li> |
||
152 | <li>Teste 4</li> |
||
153 | </ul> |
||
154 | <br /> |
||
155 | |||
156 | <h4>Notícias</h4> |
||
157 | <ul> |
||
158 | <li>Teste 1</li> |
||
159 | <li>Teste 2</li> |
||
160 | <li>Teste 3</li> |
||
161 | <li>Teste 4</li> |
||
162 | </ul> |
||
163 | <br /> |
||
164 | |||
165 | <h5>Notícias</h5> |
||
166 | <ul> |
||
167 | <li>Teste 1</li> |
||
168 | <li>Teste 2</li> |
||
169 | <li>Teste 3</li> |
||
170 | <li>Teste 4</li> |
||
171 | </ul> |
||
172 | <br /> |
||
173 | |||
174 | <h4>Header 1</h4> |
||
175 | <center> |
||
176 | <table border="0"> |
||
177 | <tr> |
||
178 | <td colspan="3"> </td> |
||
179 | </tr> |
||
180 | <tr> |
||
181 | <td width="6%"> </td> |
||
182 | <td width="72%"><font color="black"> <i>"Em primeiro lugar gostaria de parabenizá-lo pelo Mentawai, pra mim é a melhor solução já pensada quando se fala em frameworks MVC. |
||
183 | Coordeno a equipe de TI da Escola do Futuro da USP (Universidade de São Paulo), onde realizamos projetos de CVAP (Comunidades Virtuais de Aprendizagem e Prática), educação à distância etc. |
||
184 | Adorei o Mentawai desde a primeira vez que li sobre ele, gostei tanto da idéia que quiz iniciar já com um projeto de médio porte, o qual tínhamos pouquíssimo prazo para entregá-lo. O resultado |
||
185 | não podia ter sido melhor, toda a equipe se familiarizou com o framework em menos de 2 dias! O projeto foi inteiramente concebido com Mentawai, desde então é o que usamos para desenvolver |
||
186 | todos os projetos! São fascinantes a velocidade, escalabilidade e a forma inteligente em que se pode construir qualquer aplicação web com o Mentawai."</i></font></td> |
||
187 | <td width="6%"> </td> |
||
188 | </tr> |
||
189 | <tr> |
||
190 | <td width="6%"> </td> |
||
191 | <td width="72%" align="right"><b><font color="blue">por Rodrigo A. Rodriguez</font></b></td> |
||
192 | <td width="6%"> </td> |
||
193 | </tr> |
||
194 | <tr> |
||
195 | <td colspan="3"> </td> |
||
196 | </tr> |
||
197 | |||
198 | <tr> |
||
199 | <td width="6%"> </td> |
||
200 | <td width="72%"><font color="black"> <i>"Estou escrevendo de Teresina-PI para parabenizá-lo por esse excelente framework. Sou diretor de tecnologia do Grupo Claudino (o maior |
||
201 | grupo empresarial do Piauí formado por 14 empresas e mais de 12 mil funcionários) e recentemente resolvemos migrar nossos sistemas para J2EE. Depois de várias discussões, resolvemos apostar no |
||
202 | Mentawai principalmente pela facilidade, produtividade, ausência de XML e ser genuinamente brasileiro. Acabamos de finalizar o nosso primeiro aplicativo com duração de apenas 2 meses. A |
||
203 | previsão da finalização de toda a migração do nosso ERP é final de 2009. Até lá mandaremos muitas dúvidas, sugestões e críticas para o forum."</i></font></td> |
||
204 | <td width="6%"> </td> |
||
205 | </tr> |
||
206 | <tr> |
||
207 | <td width="6%"> </td> |
||
208 | <td width="72%" align="right"><b><font color="blue">por Thiago Carvalho de Sousa</font></b></td> |
||
209 | <td width="6%"> </td> |
||
210 | </tr> |
||
211 | <tr> |
||
212 | <td colspan="3"> </td> |
||
213 | </tr> |
||
214 | <tr> |
||
215 | <td width="6%"> </td> |
||
216 | <td width="72%"><font color="black"> <i>"I work for Sun Microsystems Ltd and I'm involved in making a decision about Web Application Frameworks. The OpenSolaris website is |
||
217 | currently implemented using WebWorks2 and, to a limited extent, Spring. In my opinion this is too heavyweight for our needs and I'm hoping to introduce a light-weight framework for any new |
||
218 | website development. I read about Mentawai with great interest. I share your belief that scattering the execution path for an application betweem Java and XML is a recipe for disaster. So far, |
||
219 | Mentawai looks like a great candidate for us to use."</i></font></td> |
||
220 | <td width="6%"> </td> |
||
221 | </tr> |
||
222 | <tr> |
||
223 | <td width="6%"> </td> |
||
224 | <td width="72%" align="right"><b><font color="blue">por Gary Pennington</font></b></td> |
||
225 | <td width="6%"> </td> |
||
226 | </tr> |
||
227 | |||
228 | <tr> |
||
229 | <td colspan="3"> </td> |
||
230 | </tr> |
||
231 | <tr> |
||
232 | <td width="6%"> </td> |
||
233 | <td width="72%"><font color="black"> <i>"Já usei Struts, passei pelo Webwork e tenho ele ainda em muitos projetos aqui, mas aos poucos estou migrando tudo para o Mentawai, e |
||
234 | estou muito satisfeito pela simplicidade dele!"</i></font></td> |
||
235 | <td width="6%"> </td> |
||
236 | </tr> |
||
237 | <tr> |
||
238 | <td width="6%"> </td> |
||
239 | <td width="72%" align="right"><b><font color="blue">por Alexandre Ortiz da Rocha</font></b></td> |
||
240 | <td width="6%"> </td> |
||
241 | </tr> |
||
242 | |||
243 | <tr> |
||
244 | <td colspan="3"> </td> |
||
245 | </tr> |
||
246 | <tr> |
||
247 | <td colspan="3" align="center"><a href="http://forum.mentaframework.org/posts/list/157.page" target="_blank">Clique aqui para ler mais depoimentos!</a> |
||
248 | <a href="mailto:sergio.oliveira.jr at gmail.com">Compartilhe conosco o seu caso de sucesso!</a></td> |
||
249 | </tr> |
||
250 | |||
251 | </table> |
||
252 | </center> |
||
253 | <h3>Notícias</h3> |
||
254 | <ul> |
||
255 | <li>Teste 1</li> |
||
256 | <li>Teste 2</li> |
||
257 | <li>Teste 3</li> |
||
258 | <li>Teste 4</li> |
||
259 | </ul> |
||
260 | <br /> |
||
261 | <h3>Visão Geral</h3> |
||
262 | <p>O Mentawai foi o primeiro <b>framework web MVC em Java</b> a adotar, implementar, documentar e <b>incentivar</b> todo e qualquer tipo de configuração (actions, filtros, validação, listas, |
||
263 | connection pooling, ioc, di, etc.) <b>única e exclusivamente</b> através de <b><u><font color="blue">configuração programática</font></u></b> (100% Java), <b>abolindo por completo</b> o uso de <b>XML |
||
264 | e Annotations</b> para as configurações. O framework nasceu em 08/Jun/2005 e logo depois em 18/Jul/2005 publicamos um <a href="http://www.javaworld.com/javaworld/jw-07-2005/jw-0718-mentawai.html" |
||
265 | target="_blank">artigo no site JavaWorld</a> enfatizando o uso de configuração programática para o controlador MVC (actions/resultados/conseqüências) assim como para validação. Nascia aí o <i><font |
||
266 | color="blue">ApplicationManager</font></i>: configuração em código Java <b>independente</b> do restante da sua aplicação e <b>centralizada numa única classe</b>. Apesar de termos recebidos muitas |
||
267 | críticas pela aversão ao XML, as vantagens da configuração programática foram ficando cada vez mais claras para a equipe do Mentawai:</p> |
||
268 | <ul> |
||
269 | <li>Mais <b>prazerosa e natural</b>, afinal estamos falando de código Java e não de uma especificação em XML.</li> |
||
270 | <br /> |
||
271 | <li><b>Menos propensa a erros</b> e typos, já que uma configuração em Java pode ser compilada antes de ser carregada pela aplicação web.</li> |
||
272 | <br /> |
||
273 | <li>Ótima <b>integração com IDEs</b>, permitindo usar recursos como <b>auto-complete, auto-compile</b> (build automático), <b>refactoring</b>, etc.</li> |
||
274 | <br /> |
||
275 | <li><b>Flexibilidade total</b> que apenas uma linguagem de programação pode oferecer, o que te permite criar seus próprios métodos de configuração, loops, ifs, comentários, ou seja, você |
||
276 | possui a <b><u>liberdade para fazer a configuração se adaptar a você</u></b> e não você se adaptar ao XML.</li> |
||
277 | <br /> |
||
278 | <li>Utilizar <b>linguagens de script</b> como <b>JRuby, Groovy, BeanShell</b>, etc. para configurar sua aplicação, possibilitando uma <b>configuração dinâmica</b> que pode ser <b>recarregada |
||
279 | automaticamente</b> pelo container a cada modificação.</li> |
||
280 | <br /> |
||
281 | <li>O bom e velho <b>JavaDoc</b>, documentando todos os métodos que podem ser utilizados para configuração.</li> |
||
282 | <br /> |
||
283 | </ul> |
||
284 | <p>Isso <b><u>não significa</u></b> que o Mentawai não possui <i>Convention over Configuration (CoC)</i>. O <a href="http://forum.mentaframework.org/posts/list/765.page" target="_blank">Mentawai |
||
285 | possui CoC</a> e padrões para tudo, diminuindo bastante a necessidade de configuração. Entretanto, seja por uma questão de <b>preferência por explicitamente controlar as configurações</b> ou seja por uma |
||
286 | questão de <b>necessidade</b>, o que inevitavelmente acontece em qualquer projeto, quando houver configurações essas serão feitas através de <b>configuração programática</b> e não através de XML, |
||
287 | Annotations ou arquivos properties.</p> |
||
288 | <p>Outro pilar em que o Mentawai se apoiou desde o início foi o <b><u>comprometimento em abstrair e simplificar as principais tarefas recorrentes de todo projeto web</u></b>. Ao invés de |
||
289 | direcionar o usuário para <i>qualquer outro framework que já faz isso</i>, o Mentawai oferece soluções ou abstrações para as funcionalidades básicas de toda aplicação web: pool de conexões com o banco |
||
290 | de dados, autenticação, autorização, IoC, DI, Envio de Email, Upload de Arquivo, Paginação, Tags, etc. O Mentawai é <b><u>totalmente contra</u></b> a política do "<i>Já existe um framework pra |
||
291 | isso! Procure na Internet e se vire!</i>".</p> |
||
292 | <p>Hoje o Mentawai é utilizado por <a href="http://forum.mentaframework.org/posts/list/157.page" target="_blank">diversas empresas e pessoas no Brasil e no exterior</a>, possui uma <a |
||
293 | href="http://forum.mentaframework.org" target="_blank">comunidade ativa</a> que já trocou perto de 10 mil mensagens no seu fórum de discussão, e continua evoluindo, sempre fiel aos princípios da |
||
294 | produtividade, simplicidade, abstração e configuração programática. Fique a vontade para conhecer o framework e veja como é fácil fazer a sua aplicação web utilizando o Mentawai.</p> |
||
295 | <p>Equipe Mentawai<br /> |
||
296 | <i>21 de Abril de 2007</i></p> |
||
297 | |||
298 | <h2>JForum</h2> |
||
299 | <p><iframe frameborder="0" id="jforum-iframe" scrolling="no" height="2600" src="http://docs.mentaframework.org/posts/list/70.page"></iframe></p> |
||
300 | |||
301 | |||
302 | |||
303 | </div> |
||
304 | |||
305 | <div class="clear"> |
||
306 | <hr /> |
||
307 | </div> |
||
308 | |||
309 | <div id="footer"> |
||
310 | <div class="xright">Copyright © 2011</div> |
||
311 | <div class="clear"> |
||
312 | <hr /> |
||
313 | </div> |
||
314 | </div> |
||
315 | |||
316 | </body> |
||
317 | </html> |