<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "Não consigo acessar meu bean [RESOLVIDO]"]]></title>
		<link>http://forum.mentaframework.org/posts/list/3.page</link>
		<description><![CDATA[Latest messages posted in the topic "Não consigo acessar meu bean [RESOLVIDO]"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Não consigo acessar meu bean [RESOLVIDO]</title>
				<description><![CDATA[ Bom dia!

Estou tendo problemas para acessar o bean que eu gravo na session com a classe BaseLoginAction.

Segue o código:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
public class LoginAction extends BaseLoginAction{
	
	public String execute&#40;&#41; throws ActionException {
		String user = input.getStringValue&#40;"username"&#41;;
		String pass = input.getStringValue&#40;"password"&#41;;
		if &#40;user==null&#41;
			return ERROR;
		if &#40;pass==null&#41;
			return ERROR;		
		
		User us = new User&#40;&#41;;
		us.setUsername&#40;user&#41;;
		us.setPassword&#40;pass&#41;;
		
		setUserSession&#40;us&#41;;
		
		return SUCCESS;
	}
}
</pre>
		</div>

Pelo o que eu entendi, eu posso colocar qualquer objeto na sessão através do setUserSession. O problema é que eu não sei como vou mostrar os atributos do meu bean na minha jsp.

Estou fazendo da seguinte forma:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
&lt;%@ taglib uri="/WEB-INF/lib/mentawai.jar" prefix="mtw"%&gt;
&lt;mtw:useI18N /&gt;
&lt;mtw:requiresAuthentication redir="true" /&gt;

&lt;html&gt;
&lt;body&gt;
	&lt;mtw:bean value="us"&gt;
		Seu nome: &lt;mtw:out value="username"/&gt;
		Sua senha: &lt;mtw:out value="password"/&gt;
		
	&lt;/mtw:bean&gt;
	&lt;h2&gt;&lt;mtw:message/&gt;&lt;/h2&gt;
	&lt;h3&gt;&lt;mtw:i18n key="BemVindo"/&gt; from Mentawai!&lt;/h3&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
		</div>

Onde estou errando? ]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/21.page#76</guid>
				<link>http://forum.mentaframework.org/posts/list/21.page#76</link>
				<pubDate><![CDATA[Tue, 26 Jul 2005 11:23:45]]> GMT</pubDate>
				<author><![CDATA[ Glaucio]]></author>
			</item>
			<item>
				<title>Re:Não consigo acessar meu bean</title>
				<description><![CDATA[ 
Vc coloca um objeto na sessão através do setUserSession para indicar que o usuário está logado. É assim que o framework sabe que o usuário foi autenticado com sucesso.

As tags do mentawai acessam o Output da action. Logo para acessar o usuário da session vc precisa fazer uma action (ShowUser) que pega da session e coloca no output.
]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/21.page#77</guid>
				<link>http://forum.mentaframework.org/posts/list/21.page#77</link>
				<pubDate><![CDATA[Tue, 26 Jul 2005 12:10:20]]> GMT</pubDate>
				<author><![CDATA[ saoj]]></author>
			</item>
			<item>
				<title>Re:Não consigo acessar meu bean</title>
				<description><![CDATA[ Entendi. Eu estava pensando em outra coisa. Já que eu passo um objeto para o setUserSession porque não passar meu bean setUserSession("meuBean",bean). Provavelmente eu vou usar pelo menos o nome de usuario em outro lugar. Seria mais uma facilidade.

Uma outra sugestão é quando nós chamarmos o método setUserSession e ele mesmo criar um objeto dentro da sua função para identificar o usuário, para evitarmos de passar mais um parametro que na verdade não vamos usar em mais lugar algum (ou vamos?). Não que isso seja doloroso, mas acho que fica mais atraente.

Seria setUserSession(); //Usuário logado.

O que acha?]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/21.page#78</guid>
				<link>http://forum.mentaframework.org/posts/list/21.page#78</link>
				<pubDate><![CDATA[Tue, 26 Jul 2005 13:03:06]]> GMT</pubDate>
				<author><![CDATA[ Glaucio]]></author>
			</item>
			<item>
				<title>Re:Não consigo acessar meu bean</title>
				<description><![CDATA[ Se vc não vai usar em lugar nenhum, vc pode simplesmente fazer isso:

setUserSession("1");

Mas veja que é raro vc não usar o objeto da sessão que representa o usuário logado.

Note que vc tem a session dentro de qualquer action. Dá uma olhada na classe BaseAction. Logo vc pode trabalhar com a session nas suas actions assim:

session.setAttribute("meuBean", bean);

Para acessar a session na view, vc pode via JSTL fazer isso:

<c:out value="${action.session.meuBean}" />

]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/21.page#80</guid>
				<link>http://forum.mentaframework.org/posts/list/21.page#80</link>
				<pubDate><![CDATA[Tue, 26 Jul 2005 14:04:29]]> GMT</pubDate>
				<author><![CDATA[ saoj]]></author>
			</item>
			<item>
				<title>Re:Não consigo acessar meu bean</title>
				<description><![CDATA[ Sergio,

Acho que estou me confundindo. Não consegui recuperar nada da sessão. Como vc tinha dito, as tags do mtw:bean pega o bean que está no output e joga no contexto estou certo? 

Consegui fazer isso com tranquilidade:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
output.setValue&#40;"user",us&#41;;
</pre>
		</div>
Na jsp:
<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
&lt;mtw:bean value="user"&gt;
	Seu nome:  &lt;mtw:out value="username" /&gt; &lt;br&gt;
&lt;/mtw:bean&gt;
</pre>
		</div>
---------------------------------------------------------------
Para jogar na session eu fiz da seguinte forma:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
session.setAttribute&#40;"us",us&#41;;
</pre>
		</div>
Na jsp:
<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
Seu nome:  &lt;c:out value="${action.session.us.username}" /&gt; 
</pre>
		</div>

Eu não consigo exibir o username do bean.

Preciso fazer mais alguma coisa além disso?]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/21.page#87</guid>
				<link>http://forum.mentaframework.org/posts/list/21.page#87</link>
				<pubDate><![CDATA[Tue, 26 Jul 2005 15:38:50]]> GMT</pubDate>
				<author><![CDATA[ Glaucio]]></author>
			</item>
			<item>
				<title>Re:Não consigo acessar meu bean</title>
				<description><![CDATA[ Na versão 1.0.2 a session vai estar no request, ou seja, vc poderá fazer:

${session.us.username} ao invés de ${action.session.us.username}

O seu problema provavelmente é de JSTL e não com o mentawai.

Teste se vc consegue fazer:

<c:out value="${username}" />

Onde username é algo que está no output.

]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/21.page#88</guid>
				<link>http://forum.mentaframework.org/posts/list/21.page#88</link>
				<pubDate><![CDATA[Tue, 26 Jul 2005 15:47:23]]> GMT</pubDate>
				<author><![CDATA[ saoj]]></author>
			</item>
			<item>
				<title>Re:Não consigo acessar meu bean</title>
				<description><![CDATA[ Eu testei da seguinte forma:
<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
	&lt;mtw:bean value="user"&gt;
		Seu nome: &lt;mtw:out value="username" /&gt; &lt;br&gt;
	&lt;h2&gt;&lt;mtw:message/&gt;&lt;/h2&gt;
	&lt;/mtw:bean&gt;
	
	Seu nome:  &lt;c:out value="${user}" /&gt; &lt;br&gt;	
</pre>
		</div>

Aqui exibe:

 :arrow: Seu nome: <mtw:out value="username" /> 


Aqui não:

:arrow: Seu nome:  <c:out value="${user}" /> <br>

User é o bean que está no output.

Continua sem aparecer nada...
 :? ]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/21.page#89</guid>
				<link>http://forum.mentaframework.org/posts/list/21.page#89</link>
				<pubDate><![CDATA[Tue, 26 Jul 2005 16:14:40]]> GMT</pubDate>
				<author><![CDATA[ Glaucio]]></author>
			</item>
			<item>
				<title>Re:Não consigo acessar meu bean</title>
				<description><![CDATA[ Me diga se vc consegue imprimir o username com c:out

<c:out value="${username}" />

]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/21.page#90</guid>
				<link>http://forum.mentaframework.org/posts/list/21.page#90</link>
				<pubDate><![CDATA[Tue, 26 Jul 2005 16:18:23]]> GMT</pubDate>
				<author><![CDATA[ saoj]]></author>
			</item>
			<item>
				<title>Re:Não consigo acessar meu bean</title>
				<description><![CDATA[ Não consigo também. Já tinha tentado antes. Eu devo estar errando alguma bobeira. 

Outra coisa que estou achando estranho é que está aparecendo uns caracteres no canto superior esquerdo da jsp...

Código da jsp
<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
﻿&lt;%@ taglib uri="/WEB-INF/lib/mentawai.jar" prefix="mtw"%&gt;
&lt;mtw:useI18N /&gt;

&lt;html&gt;
&lt;body&gt;
	&lt;mtw:bean value="user"&gt;
		Seu nome: &lt;mtw:out value="username" /&gt; &lt;br&gt;
	&lt;h2&gt;&lt;mtw:message/&gt;&lt;/h2&gt;
	&lt;/mtw:bean&gt;
	
	Seu nome:  &lt;c:out value="${username}" /&gt; &lt;br&gt;		
	
	&lt;h3&gt;&lt;mtw:i18n key="BemVindo"/&gt; from Mentawai!&lt;/h3&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
		</div>

A saida da jsp:

ï»¿ Seu nome: FGFG
Seu nome:
Bem Vindo! from Mentawai!
---------------------------------
Não faço idéia de onde estou errando... :?: :?: :?: ]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/21.page#91</guid>
				<link>http://forum.mentaframework.org/posts/list/21.page#91</link>
				<pubDate><![CDATA[Tue, 26 Jul 2005 16:29:08]]> GMT</pubDate>
				<author><![CDATA[ Glaucio]]></author>
			</item>
			<item>
				<title>Re:Não consigo acessar meu bean</title>
				<description><![CDATA[ Tu tem que procurar no Google ou no Guj como usar JSTL

Basicamente vc precisa ter os jars no lib e importar corretamente.

Vai no GUJ e procura lá JSTL.

]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/21.page#92</guid>
				<link>http://forum.mentaframework.org/posts/list/21.page#92</link>
				<pubDate><![CDATA[Tue, 26 Jul 2005 16:41:09]]> GMT</pubDate>
				<author><![CDATA[ saoj]]></author>
			</item>
			<item>
				<title>Re:Não consigo acessar meu bean</title>
				<description><![CDATA[ Estou utilizando a versão jakarta-taglibs-standard-1.1.2. Os .jar estão na pasta lib do WEB-INF e as tlds em WEB-INF/tld configurados no web.xml. Continua sem exibir nada.

No inicio estava exibindo ${username}. Depois fuçando no guj eu descobri que precisava do <%@ page isELIgnored="false" %> para funcionar. Então continuou sem exibir nada.

De qualquer forma agradeço a força! Com certeza é problema na jstl. Vou dar mais uma pesquisada.

]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/21.page#94</guid>
				<link>http://forum.mentaframework.org/posts/list/21.page#94</link>
				<pubDate><![CDATA[Wed, 27 Jul 2005 08:33:52]]> GMT</pubDate>
				<author><![CDATA[ Glaucio]]></author>
			</item>
			<item>
				<title>Re:Não consigo acessar meu bean</title>
				<description><![CDATA[ Consegui! Está funcionando.

Vou descrever aqui como eu resolvi o problema.

 :arrow:  Coloquei os .tlds na pasta WEB-INF/tld (lembrando que tem que configurar isso no seu web.xml)

 :arrow:  Copiei os .jar da jakarta-taglibs-standard-1.1.2 para WEB-INF/lib

 :arrow:  Adicionei <%@ page isELIgnored="false" %> porque simplesmente ele não interpretava nada (ficava ${username} na jsp)

 :arrow: Utilizei o import <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

 :arrow: E por fim eu estava misturando a tag do Mentawai com a jstl.

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
﻿&lt;%@ taglib uri="/WEB-INF/lib/mentawai.jar" prefix="mtw"%&gt;
&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;
&lt;%@ page isELIgnored="false" %&gt;
&lt;mtw:useI18N /&gt;

&lt;html&gt;
&lt;body&gt;
	&lt;mtw:bean value="user"&gt;
		Seu nome: &lt;mtw:out value="username" /&gt; &lt;br&gt;
	&lt;h2&gt;&lt;mtw:message/&gt;&lt;/h2&gt;
	&lt;/mtw:bean&gt;

          Seu nome:  ${user.username} &lt;br&gt;		
	
	&lt;h3&gt;&lt;mtw:i18n key="BemVindo"/&gt; from Mentawai!&lt;/h3&gt;
&lt;/body&gt;
&lt;/html&gt; 
</pre>
		</div>

Dessa forma só exibia o conteudo da tag do mentawai. Depois de retirado  ficou:
<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
﻿&lt;%@ taglib uri="/WEB-INF/lib/mentawai.jar" prefix="mtw"%&gt;
&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;
&lt;%@ page isELIgnored="false" %&gt;
&lt;mtw:useI18N /&gt;

&lt;html&gt;
&lt;body&gt;
	Seu nome:  ${user.username} &lt;br&gt;		
	
	&lt;h3&gt;&lt;mtw:i18n key="BemVindo"/&gt; from Mentawai!&lt;/h3&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
		</div>

Funcionou blz!]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/21.page#95</guid>
				<link>http://forum.mentaframework.org/posts/list/21.page#95</link>
				<pubDate><![CDATA[Wed, 27 Jul 2005 08:53:01]]> GMT</pubDate>
				<author><![CDATA[ Glaucio]]></author>
			</item>
	</channel>
</rss>
