Mentawai + JSTL

6 respostas
danieldestro

Caros,

Ou estou muito desacostumado com programação de JSP ou estou mesmo com um problema.

Adotei o Mentawai num projeto web simples aqui. Quando chamo uma action do Mentawai (algo.mtw), dentro da Action ele simplesmente faz:

output.setValue("x", new MeuObjeto()); output.setValue("y", "Uma mensagem");

E no JSP:

&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt; //funciona &lt;jsp:useBean id="y" type="java.lang.String" scope="request"/&gt; &lt;%=y%&gt; //não funciona &lt;c:out value="y"/&gt;<br> &lt;c:out value="${y}"/&gt;

Engraçado que o JSTL não funciona. E mesmo na tag useBean, se eu tiro o parâmetro scope, ele também não funciona.

No meu WAR eu só coloquei os jars do JSTL (standard.jar, jstl.jar), mas não coloquei os TLDs.

Alguma luz?

6 Respostas

danieldestro

Meu AppManager:

package softech.trainninglog.view.mentawai;

import softech.trainninglog.view.action.*;

public class ApplicationManager extends org.mentawai.core.ApplicationManager {
	public void loadActions() {
		action(&quot;/login&quot;, LoginAction.class)
		.on(SUCCESS, fwd(&quot;/welcome.jsp&quot;))
		.on(ERROR, fwd(&quot;/login.jsp&quot;));
		
		action(&quot;/signIn&quot;, SignInAction.class)
		.on(SUCCESS, fwd(&quot;/signInOk.jsp&quot;))
		.on(ERROR, fwd(&quot;/signIn.jsp&quot;))
		.on(&quot;FORM&quot;, fwd(&quot;/signIn.jsp&quot;));
	}
}

e web.xml:

&lt?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt

&lt;!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd"&gt;

&lt;web-app&gt;
	&lt;servlet&gt;
		&lt;servlet-name&gt;MentawaiController&lt;/servlet-name&gt;
		&lt;servlet-class&gt;org.mentawai.core.Controller&lt;/servlet-class&gt;
		&lt;init-param&gt;
			&lt;param-name&gt;applicationManager&lt;/param-name&gt;
			&lt;param-value&gt;softech.trainninglog.view.mentawai.ApplicationManager&lt;/param-value&gt;
		&lt;/init-param&gt;
		&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
	&lt;/servlet&gt;

	&lt;servlet-mapping&gt;
		&lt;servlet-name&gt;MentawaiController&lt;/servlet-name&gt;
		&lt;url-pattern&gt;*.mtw&lt;/url-pattern&gt;
	&lt;/servlet-mapping&gt;
	
	&lt;welcome-file-list&gt;
		&lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;
	&lt;/welcome-file-list&gt;
&lt;/web-app&gt;
saoj

JSTL gera um mar de dúvidas na hora de faze-la funcionar.

Eu mesmo fiquei varios dias lutando com ela ate entende-la.

Se vc estiver usando forward o parametro do output está no request, ou seja, a JSTL nao mostra porque tem problemas…

<%= request.getAttribute(“y”) %>

Dah uma olhada aqui:

http://forum.mentaframework.org/posts/list/246.page

danieldestro

Ter que colocar <%@ page isELIgnored=“false”%> para funcionar é coisa de amador. Fala sééério!!!

Valeu saoj.

saoj

Isso não eh citado em lugar nenhum da documentacao e na versao anterior do JSTL nao precisava disso. Ou seja, ou o cara dá sorte com o google, ou vai ficar dias lutando com isso… (meu caso)

Vou colocar isso urgente no FAQ do Mentawai…

Mauricio_Linhares

danieldestro:
Ter que colocar <%@ page isELIgnored=“false”%> para funcionar é coisa de amador. Fala sééério!!!

Valeu saoj.

Se você mudar a vesão do seu web.xml pra 2.4 não vai ter que fazer isso :wink:

danieldestro

Realmente!

Criado 17 de agosto de 2006
Ultima resposta 17 de ago. de 2006
Respostas 6
Participantes 3