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ê 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ão
<option>Rádio
<option>Computador
<option>Ví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!!