[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Messages posted by: Glaucio  XML
Profile for Glaucio -> Messages posted by Glaucio [52] Go to Page: Previous  1, 2, 3, 4 Next 
Author Message
Interessante esse lance de Role.

Então utilizando string seria:<mtw:requiresAuthentication role="Admin" /> ??
Foi falado aqui no forum também (se eu não me engano foi vc mesmo) falando sobre o HIDDEN. Já foi implementado? Caso contrário é legal colocar no TO DO List.
Consegui! Está funcionando.

Vou descrever aqui como eu resolvi o problema.

Coloquei os .tlds na pasta WEB-INF/tld (lembrando que tem que configurar isso no seu web.xml)

Copiei os .jar da jakarta-taglibs-standard-1.1.2 para WEB-INF/lib

Adicionei <%@ page isELIgnored="false" %> porque simplesmente ele não interpretava nada (ficava ${username} na jsp)

Utilizei o import <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

E por fim eu estava misturando a tag do Mentawai com a jstl.

Code:
 <%@ taglib uri="/WEB-INF/lib/mentawai.jar" prefix="mtw"%>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 <%@ page isELIgnored="false" %>
 <mtw:useI18N />
 
 <html>
 <body>
 	<mtw:bean value="user">
 		Seu nome: <mtw:out value="username" /> <br>
 	<h2><mtw:message/></h2>
 	</mtw:bean>
 
           Seu nome:  ${user.username} <br>		
 	
 	<h3><mtw:i18n key="BemVindo"/> from Mentawai!</h3>
 </body>
 </html> 
 


Dessa forma só exibia o conteudo da tag do mentawai. Depois de retirado ficou:
Code:
 <%@ taglib uri="/WEB-INF/lib/mentawai.jar" prefix="mtw"%>
 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 <%@ page isELIgnored="false" %>
 <mtw:useI18N />
 
 <html>
 <body>
 	Seu nome:  ${user.username} <br>		
 	
 	<h3><mtw:i18n key="BemVindo"/> from Mentawai!</h3>
 </body>
 </html>
 


Funcionou blz!
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.

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
Code:
 <%@ taglib uri="/WEB-INF/lib/mentawai.jar" prefix="mtw"%>
 <mtw:useI18N />
 
 <html>
 <body>
 	<mtw:bean value="user">
 		Seu nome: <mtw:out value="username" /> <br>
 	<h2><mtw:message/></h2>
 	</mtw:bean>
 	
 	Seu nome:  <c:out value="${username}" /> <br>		
 	
 	<h3><mtw:i18n key="BemVindo"/> from Mentawai!</h3>
 </body>
 </html>
 


A saida da jsp:

 Seu nome: FGFG
Seu nome:
Bem Vindo! from Mentawai!
---------------------------------
Não faço idéia de onde estou errando...
Eu testei da seguinte forma:
Code:
 	<mtw:bean value="user">
 		Seu nome: <mtw:out value="username" /> <br>
 	<h2><mtw:message/></h2>
 	</mtw:bean>
 	
 	Seu nome:  <c:out value="${user}" /> <br>	
 


Aqui exibe:

Seu nome: <mtw:out value="username" />


Aqui não:

Seu nome: <c:out value="${user}" /> <br>

User é o bean que está no output.

Continua sem aparecer nada...
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:

Code:
 output.setValue("user",us);
 

Na jsp:
Code:
 <mtw:bean value="user">
 	Seu nome:  <mtw:out value="username" /> <br>
 </mtw:bean>
 

---------------------------------------------------------------
Para jogar na session eu fiz da seguinte forma:

Code:
 session.setAttribute("us",us);
 

Na jsp:
Code:
 Seu nome:  <c:out value="${action.session.us.username}" /> 
 


Eu não consigo exibir o username do bean.

Preciso fazer mais alguma coisa além disso?
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?
Bom dia!

Estou tendo problemas para acessar o bean que eu gravo na session com a classe BaseLoginAction.

Segue o código:

Code:
 public class LoginAction extends BaseLoginAction{
 	
 	public String execute() throws ActionException {
 		String user = input.getStringValue("username");
 		String pass = input.getStringValue("password");
 		if (user==null)
 			return ERROR;
 		if (pass==null)
 			return ERROR;		
 		
 		User us = new User();
 		us.setUsername(user);
 		us.setPassword(pass);
 		
 		setUserSession(us);
 		
 		return SUCCESS;
 	}
 }
 


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:

Code:
 <%@ taglib uri="/WEB-INF/lib/mentawai.jar" prefix="mtw"%>
 <mtw:useI18N />
 <mtw:requiresAuthentication redir="true" />
 
 <html>
 <body>
 	<mtw:bean value="us">
 		Seu nome: <mtw:out value="username"/>
 		Sua senha: <mtw:out value="password"/>
 		
 	</mtw:bean>
 	<h2><mtw:message/></h2>
 	<h3><mtw:i18n key="BemVindo"/> from Mentawai!</h3>
 </body>
 </html>
 


Onde estou errando?
Também percebi isso. Parece que não tem a tag i18n. Foi digitado em português mesmo. É bom avisar para o Sergio que o exemplo tá misturando as linguas.
Teria que restartar sim. É como se estivesse alterando o seu struts-config.xml.

O pessoal ontem na reunião do riojug estava comentando sobre isso e parece que alguns colocam uma processo para ficar verificando de tempos em tempos se o seu arquivo foi alterado. Caso postivo restarta o contexto.

Um abraço!
Eu vi na api que aplica interface e tal.

Eu simplesmente errei no pacote. Importei um pacote do org.apache.xalan.lib. Na pressa acabei importando o pacote errado no Eclipse!

Até!
Sérgio,

Estou tentando adicionar uma global consequence mas não estou conseguindo utilizar o método com essa assinatura. A assinatura que eu vi na documentação é desta forma:

addGlobalConsequence (String result, Consequence c )

No lugar do parametro Consequence eu preciso de um Redirect (estou seguindo o exemplo http://mentawai.lohis.com.br/authentication.jsp )

O que poderia ser? Falta a assinatura ou estou fazendo algo errado? Estou utilizando a api 1.0.1.

Até!
Olá Sergio!

Realmente eu alterei os parametros do VOFilter e esqueci de pegar o bean correto!

Agora funcionou!

Um abraço!
Olá Sergio,

Ainda não consegui...

Vou colocar todo o código alterado para você ver onde eu devo estar errando...

Minha Action

Code:
 public class Hello extends BaseAction {
 	private static final MessageContext MSG_CONTEXT = new ClassMessageContext(Hello.class);
 	private static final int USERNAME_BLANK=1;
 	private static final int PASS_BLANK=2;
 	private static final int MESSAGE=3;
 	private static final int ERRO=4;
 	
 	public String execute() throws ActionException {
 			
 		User user = (User)input.getValue("teste.menta.beans.User");
 		if (user==null) 
 		{
 			addError(ERRO, MSG_CONTEXT);
 			return ERROR;	
 		}
 		
 		if (user.getUsername()==null)
 			{
 			addError("username",USERNAME_BLANK,MSG_CONTEXT);
 			return ERROR;
 			}			
 		if (user.getPassword()==null) 
 			{
 				addError("password",PASS_BLANK,MSG_CONTEXT);
 				return ERROR;
 			}
 		output.setValue("user",user);
 		addMessage(MESSAGE);
 		return SUCCESS;
 	}
 
 }
 


Minha página onde eu digito o usuario e senha
Code:
 <%@ taglib uri="WEB-INF/lib/mentawai.jar" prefix="mtw"%>
 <mtw:useI18N />
 <html>
 <body>
 	
 	<h1><mtw:i18n key="ola"/> Mentawai!</h1>
 	<form action="Hello.mtw" method="post">
 		<mtw:i18n key="nome"/> <input type="text" name="username" size="25"/><br></br>
 		<mtw:hasError>
 			<h5><font color="red"><mtw:error field="username"/></font></h5>>
 		</mtw:hasError>
 		<mtw:i18n key="senha"/><input type="password" name="password" size="25"/><br>
 		<mtw:hasError>
 			 	<h5><font color="red"><mtw:error field="password"/></font></h5>>>
 		</mtw:hasError>			
 		<input type="submit" value="Enviar"/>
 	</form>
 	
 </body>
 
 
 </html>
 

Meu bean User

Code:
package teste.menta.beans;
 
 public class User {
 	
 	private String username;
 	private String password;
 	
 	public void setUsername(String username) {
 		this.username = username;
 	}
 	
 	public void setPassword(String password) {
 		this.password = password;
 	}
 	
 	public String getUsername() {
 		return username;
 	}
 	
 	public String getPassword() {
 		return password;
 	}
 }
 

Meu ApplicationManager

Code:
 public class AppManager extends ApplicationManager{
 	public void loadLocales() {
 		super.loadLocales();
 		
 		LocaleManager.add(new Locale ("pt","BR"));
 		LocaleManager.add(new Locale ("en","US"));
 	}
 	public void loadActions(){
 		ActionConfig ac = new ActionConfig ("/Hello",Hello.class);
 		ac.addConsequence(Hello.SUCCESS,new Forward ("/hello.jsp"));
 		ac.addConsequence(Hello.ERROR,new Forward ("/username.jsp"));
 		addActionConfig(ac);
 		ac.addFilter(new VOFilter(User.class,"user"));
 	}
 
 }
 
 


Um abraço!
 
Profile for Glaucio -> Messages posted by Glaucio [52] Go to Page: Previous  1, 2, 3, 4 Next 
Go to:   
Powered by JForum 2.1.6 © JForum Team