[RESOLVIDO]JSP não atualiza dados no browser[/RESOLVIDO]

0 respostas
newbcc

Fala pessoal,

então estou com o seguinte problema: tem uma página JSP aonde eu simulo a funcionalidade de “carrinho de compras”. A idéia é, ao selecionar um produto na caixa de seleção e acionar o botão “adicione”, o browser deve ser atualizado exibindo o item selecionado. Porém, quando eu aciono o botão, a tela não exibe o item escolhido.

Segue o código:

<html>
	<jsp:useBean id="carrinho" scope="session" class="compra.Carrinho" />
	<jsp:setProperty name="carrinho" property="*" />
	<body bgcollor="#ffffff">

	<%
		carrinho.processRequest( request );
		String[] items = carrinho.getItems();

		if( items.length > 0 ) {		
	%>
			<font size=+2 color="#3333ff">Voc&ecirc; comprou os seguintes itens:</font>
	<ol>
	<%
		for( int i = 0; i < items.length; i ++ ) {

			out.println("<li>" + items[i] );
		}
	       }
	%>
	</ol>
	<hr>
	<form type=post action="compras.jsp">
		<br><font color="#3333ff" size=+2>Entre um item para adicionar ou remover:</font><br>
		<select name="item">
			<option>Televis&atilde;o
			<option>R&aacute;dio
			<option>Computador
			<option>V&iacute;deo Cassete
		</select>
		<p><input type=submit value="adicione">
		   <input type=submit value="remova">
	</form>
	</body>
</html>

O javabean:

package compra;

import javax.servlet.http.*;
import java.util.Vector;
import java.util.Enumeration;

public class Carrinho {

	Vector v = new Vector();
	String submit = null;
	String item = null;

	private void addItem( String name ) {
		v.addElement( name );
	}

	private void removeItem( String name ) {
		v.removeElement( name );
	}

	private void setItem( String name ) {
		item = name;
	}

	private void setSubmit( String s ) {
		submit = s;
	}

	public String[] getItems() {

		String[] s = new String[v.size()];
		v.copyInto( s );

		return ( s );
	}

	private void reset() {

		submit = null;
		item = null;
	}

	public void processRequest( HttpServletRequest request ) {

		if( submit == null ) return;

		if ( submit.equals( "adicione" ) ) {

			addItem( item );

		} else if( submit.equals( "remova" ) ) {

			removeItem( item );
			reset();
		}
	}
}

OBS: estou utilizando o Tomcat como container.

Qualquer dica é bem vinda!! vlw!!!

RESOLVIDO
O problema estava no bean. A lógica está errada!!

Criado 12 de maio de 2009
Respostas 0
Participantes 1