Struts - action não direciona

2 respostas
herbertins

Bom dia galera,

estou tendo um problema com o struts2.

é uma validação de login.

<s: form action = "login!checkedLogin">
.
.
.
</form>

nesse form tem um botão. quando eu clico nele eu entendo que ele tem que ir até o método checkedLogin e atribuir um valor a variavel. É isso???

Só que quando eu cliclo no botão ele direciona para a pagina "Struts/login", ele está entendendo que login é uma pagina e não uma variavel. acho que é isso.

será que alguem pode me dar um help. como funciona essa action do form??

2 Respostas

herbertins
essa eh a index
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Struts 2</title>
</head>
<body>
<s:form action="login!checkLogin">
	<s:textfield name="username" label="User"></s:textfield>
	<s:password name="password" label="Password"></s:password>
	<s:submit value="Sign In"></s:submit>
</s:form>
</body>
</html>

Essa e a configuração du struts

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<include file="struts-default.xml" />
	
	<package name="default" extends="struts-default">
		<action name="login!*" method="{1}" class="br.com.jm.actions.LoginAction" >
			<result name="invalid">/error_login.jsp</result>
			<result name="valid">/home.jsp</result>
		</action>
	</package>
	
</struts>
package br.com.jm.actions;

essa eh minha classe

public class LoginAction {
	
	private String username;
	private String password;
	
	public String checkLogin(){
		System.out.println(username);
		if(isInvalid(username)) return "invalid";
		if(isInvalid(password)) return "invalid";
		return "valid";
	}
	
	private boolean isInvalid(String value){
		return(value == null || value.length() == 0);
	}
	
	public final String getPassword() {
		return password;
	}
	public final void setPassword(String password) {
		this.password = password;
	}
	public final String getUsername() {
		return username;
	}
	public final void setUsername(String username) {
		this.username = username;
	}
	
}

quandooo eu cliclo no botão da index ele direciona para uma url "Struts\login" não direciona nem pra de erro e nem pra home

abs

I

Posta o exemplo meu caro !!! :slight_smile:

Criado 24 de janeiro de 2008
Ultima resposta 24 de jan. de 2008
Respostas 2
Participantes 2