| Author |
Message |
|
|
Estou fazendo os exemplos acompanhando diretamente do site, acredito que setei os filtros corretamente como pode ser visto no web.xml que enviei, to quebrando cabeça mas ainda não cheguei a solução, um abraço.
saoj wrote:
Testa os exemplos de velocity...
Vc setou esse filtro direito ???
|
 |
|
|
Desculpe sergio no meu pc está como index_ok.vm mas na hora de postar vacilei, vou corrigir o post, veja que quando eu postei o ApplicationManager está de forma correta. Um abraço.
saoj wrote:
index.vm_ok não termina com .vm.
|
 |
|
|
Boa tarde a todos, gostaria de saber o que estou fazendo de errado, pois na hora de recuperar o valor através de $username não está sendo exibido o valor que digito e sim a string "$username", fico grato pela ajuda.
web.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Portal</display-name>
<description>Testes para migração para o framework mentawai</description>
<filter>
<filter-name>VelocityFilter</filter-name>
<filter-class>org.mentawai.velocity.VelocityServletFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>VelocityFilter</filter-name>
<url-pattern>*.vm</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Controller</servlet-name>
<servlet-class>org.mentawai.core.Controller</servlet-class>
<!-- package where mentawai looks for actions -->
<!-- to define more than one, use commas (,) to separate them -->
<!-- init-param>
<param-name>actionManager</param-name>
<param-value>examples.helloworld.ActionManager</param-value>
</init-param -->
<load-on-startup>1</load-on-startup>
</servlet>
<!-- You must choose an extension to indicate a mentawai action -->
<servlet-mapping>
<servlet-name>Controller</servlet-name>
<url-pattern>*.at</url-pattern>
</servlet-mapping>
<!-- Map the filter to a file extension -->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
index.html
Code:
<html>
<head>
<meta http-equiv='Refresh' content='0;URL=index.at'>
</head>
</html>
index.vm
Code:
<html>
<body>
<h1>Hello Metawai!</h1>
<form action="index.at" method="post">
Please type your username: <input name="username" size="25" />
<input type="submit" value="Enviar">
</form>
</body>
</html>
index_ok.vm
Code:
<html>
<body>
<h3>Hello $username from Mentawai!</h3>
</body>
</html>
ApplicationManager.java
Code:
import org.mentawai.core.*;
import br.com.agharta.*;
public class ApplicationManager extends org.mentawai.core.ApplicationManager {
public void loadActions() {
ActionConfig ac = new ActionConfig("/index", Hello.class);
ac.addConsequence(Hello.SUCCESS, new Forward("/web/index_ok.vm"));
ac.addConsequence(Hello.ERROR, new Forward("/web/index.vm"));
addActionConfig(ac);
}
}
Hello.java
Aqui eu tentei até por os get e set
Code:
package br.com.agharta;
import java.util.*;
import org.mentawai.core.*;
public class Hello extends BaseAction {
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String execute() throws ActionException {
username = input.getStringValue("username");
if (username == null || username.trim().equals("")) {
return ERROR;
}
output.setValue("username", username.toUpperCase());
return SUCCESS;
}
}
|
 |
|
|
Pessoal fiquei com uma dúvida que com certeza vocês podem me exclarecer, o ApplicationManager, para cada action que você cria, tu tem que instanciar um objeto, como em:
Code:
ActionConfig ac2 = new ActionConfig("/Action2", Action2.class);
ac2.addConsequence(Action2.SUCCESS, new Forward("/show.jsp"));
addActionConfig(ac2);
ActionConfig ac1 = new ActionConfig("/Action1", Action1.class);
ac1.addConsequence(Action1.SUCCESS, new Chain(ac2));
addActionConfig(ac1);
Então pergunto: Isso não seria problemático, no sentido de que eu poderia ter um sistema com 800 actions, e se em tese cada objeto instanciado eu estou alocando espaço em memória, eu não poderia antecipadamente estar alocando um espaço sem utilizá-lo? Falei besteira? No xml não é assim? É? Se é, é feito por reflexão?
Foi realmente uma duvida que vocês podem me ajudar, um abraço.
|
 |
|
|
Caras parabéns pela documentação, está ótima, além dos exemplos, putz os *.war quebram um galho pra quem é adepto do fast food, e quer ver os exemplos e por pra rodar e depois estudar os fontes, outra coisa, não acabem com o velocity! eheheheh, eu estava lendo uma discussão, no guj:
http://www.guj.com.br/posts/list/27280.java
" Por mim eu ignorava o Velocity, pois com EL dá pra fazer praticamente a mesma coisa. Só que tem gente que faz questão de Velocity e não quero perder essa galera, me entende? " Então permaneça na idéia Sérgio eheheheh, show de bola essa flexibilidade, em que se pode usar, o que quiser, parabéns a equipe.
|
 |
|
|
Então vamos supor, que eu tenha um form, e os dados todos não foram preenchidos, e eu quero que não exiba pro usuário um error, e sim retorne a tela do form, eu poderia usar a action error, estou perguntando apenas pra saber se é ou não conveniente no menta, e porque.
saoj wrote:
INPUT não tem equivalente no mentawai.
LOGIN tem, e é retornado pelo AuthenticationFilter.
Repare a diferença de RESULTADO e Consequencia.
Pra cada resultado há uma consequencia, e isso vc seta no ApplicationManager.java.
Vc pode criar quantos resultados quiser, pois um resultado é uma String.
Vc tb pode criar quantas consequencias quiser, mas isso não é muito comum. 99% das vezes vc vai usar forward ou redirect mesmo, que já vem com o mentawai.
Qualquer dúvida é só falar !!!
|
 |
|
|
Olá menta team, primeiro quero parabenizar aos desenvolvedores, show de bola o esse framework, sou utilizador do webwork, e gostaria de saber o que seria o equivalente a action INPUT e LOGIN dentro do mentawai, olhando o javadoc de vocês pude constatar 4 tipos de return:
The result is usually SUCCESS or ERROR. For each result there is a consequence (org.mentawai.core.Consequence). The consequences for a web application are usually FORWARD or REDIRECT.
Então gostaria de saber o que seria o equivalente dentro do menta, grato!
|
 |
|
|
|
|