Pessoal, um dos principais problemas que enfrento em adotar um framework mvc brasileiro e a falta de constante evolução dos frameworks. Os outros frameworks como struts, springmvc, etc estão em constante evolução e tem muitas pessoas envolvidas no projeto.
Gostaria de saber como anda a evolução do framework mentawai, pois eu pude notar que este framework deste janeiro deste ano não teve nenhuma outra evolução. Existe em andamento uma outra versão ?
E o projeto vraptor, como anda? Notei que o pessoal do framework so anda preocupado com o controler do mvc, tendo em vista que poderia criar facilidades com uso de tag libraries na camada de visão, etc… Como o mentawai…
O pessoal envolvido neste forum, tem em mente ou esta construindo algum outro framework brasileiro.
Pelo que eu conheço do projeto VRaptor, essa preocupação de desenvolver apenas o controller é uma característica do projeto e eles não largarão mão disso.
Sempre foi intenção do projeto focar apenas nessa parte e não virar um canivete suíço para desenvolvimento web.
O fato de não ter lançado uma nova versão desde janeiro se deve apenas ao fato de gostarmos de acumular várias novidades e correções para só então lançar uma nova release.
É claro que se há uma nova feature e/ou uma correção importante, então nos apressamos para lançar uma nova versão, o que não é o caso no momento.
Veja através do nosso fórum que o framework está bastante ativo, com discussoes constantes para a inclusão de novas features.
Recomendamos que vc utilize o jar beta, que disponibilizamos diariamente no site.
Quanto a camada de visão, acreditamos que JSTL deixa um pouco a desejar por ser genérica e um conjunto de tags extensíveis e integradas com o framework é bastante importante para simplificar as coisas. Claro que nada te impede de utilizar JSTL, EL, Velocity, etc.
Para matar a sua curiosidade, esse é o changelog para a versão 1.9:
- tag i18n now accepts the key in the body as well as through the key attribute.
That's to allow dynamic keys, something like:
<mtw:i18n>
<mtw:out value="something" />
</mtw:i18n>
- method LocaleManager.setDir to change the default location of the i18n files. (Default = "/i18n")
So to set it to be inside the WEB-INF directory, you can do: LocaleManager.setDir("WEB-INF/i18n");
- Now you can add a filter specific to an action (ActionConfig) that will be executed BEFORE any global filter.
action("/Foo", FooAction.class)
.filterFirst(new ValidatorFilter(VAL_ERROR))
.on(SUCCESS, fwd("/cool.jsp")
.on(ERROR, fws("/nocool.jsp");
- Improvement in the exceptions, in other words, now you will see the correct exception in your browser even when it happened through a reflection call (and not the InvocationTargetException that does not tell you anything!)
- Debug logs throughout the code, specially on DIFilter, so that you can turn on DEBUG and see how the filter is operating.
Debug.enable(true);
- Paginator Tag improvements: http://paginator.mentaframework.org/
- CollectionFilter to turn a list of html parameters into a collection.
Ex:
<input name="name1">
<input name="name2">
<input name="name3">
...
<input name="name10">
You can add:
filter(new CollectionFilter("name"));
and get a collection from the action input:
Collection coll = (Collection) input.getValue("name");
Note: They will be in order and if there is a gap in the sequence, the value of the gap will be null in the collection.
- MultiApplicationManager to load different application managers for the same application.
public class ApplicationManager extends MultiApplicationManager {
public void registerManagers() {
register(ModuleOneApplicationManager.class);
register(ModuleTwoApplicationManager.class);
register(ModuleThreeApplicationManager.class);
}
}
- New Ajaxtags inside the org.mentawai.ajaxtag package.
- LocaleManager.setDefaultDateMask("dd/MM/yyyy") and LocaleManager.setDateMask(Locale loc, String mask) so that you can set the default date mask
and a date mask specific of that locale. Date mask will be used with a SimpleDateFormat to convert a date.
- ApplicationManager.setViewDir to set up a directory where all JSPs will reside.
Ex:
setViewDir("/WEB-INF/jsp");
so a new Forward("/hello.jsp") will go to:
/WEB-INF/jsp/hello.jsp
!!!! - Now inner actions can also be defined as Java inner classes (static or non-static) !!! Check the HelloInnerActions example below:
package examples.inneractions;
import java.util.*;
import org.mentawai.core.*;
public class HelloInnerActions extends BaseAction {
public String execute() throws Exception {
output.setValue("speak", "Hello there!");
return SUCCESS;
}
public String sayBye() throws Exception {
output.setValue("speak", "Bye for now...");
return SUCCESS;
}
public class SayBye2 extends BaseAction {
public String execute() throws Exception {
output.setValue("speak", "Bye for now from SayBye2 inner action class!");
return SUCCESS;
}
}
public static class SayBye3 extends BaseAction {
public String execute() throws Exception {
output.setValue("speak", "Bye for now from SayBye3 static inner action class!");
return SUCCESS;
}
}
}
- min and max for DateRule (validation)
- add support to JPA