Substituir scriptlets por JSTL

Como posso substituir os scriptlets do código abaixo por JSTL? alguém poderia postar o código alterado?

<%@ page language="java"
	import="java.util.*,br.com.metasig.vendas.beans.*"
	pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<title>Vendas MetaSIG</title>
	<body>
		<%
			List<ClienteBean> clientesList = (List<ClienteBean>) request
					.getAttribute("clientesList");
		%>
		Cliente:
		<select>
			<option value="">
				... Selecione o cliente ...
			</option>
			<%
				for (Iterator i = clientesList.iterator(); i.hasNext();) {
					ClienteBean c = (ClienteBean) i.next();
			%>
			<option value="<%=c.getClienteCod()%>">
				<%=c.getClienteNome()%>
			</option>
			<%
				}
			%>
		</select>
	</body>
</html>

É bem simples substituir esse código utilizando JSTL. Você vai basicamente utilizar a tag de iteração e a tag de saída de dados.

No site do PJ tem alguns artigos meus sobre JSTL. Dê uma estudada nessas tags e se surgirem dúvidas, podemos te ajudar.

No artigo do Rafael Henrique encontrei um exemplo de iteração com a tag foreach que substitui o scriptlet com o laço for, mas, e para invocar o atributo com a lista (código abaixo)? Existe alguma tag específica Guilherme?

        <%   
            List<ClienteBean> clientesList = (List<ClienteBean>) 
            request.getAttribute("clientesList");   
        %>  

[quote=leocesar]No artigo do Rafael Henrique encontrei um exemplo de iteração com a tag foreach que substitui o scriptlet com o laço for, mas, e para invocar o atributo com a lista (código abaixo)? Existe alguma tag específica Guilherme?

<% List<ClienteBean> clientesList = (List<ClienteBean>) request.getAttribute("clientesList"); %> [/quote]

Se você deu uma lida sobre EL no meu tutorial, deve ter visto que através da EL é possível recuperar objetos que estejam em um escopo. Dessa forma, o código poderia ficar assim:

<select> <c:forEach value="${clientesList}" var="cliente"> <option value="${cliente.clienteCod}">${cliente.clienteNome}</option> </c:forEach> </select>

Aproveite que estou bonzinho hoje :wink:

Obrigado pela solução Guilherme.

Qualquer problema é só postar :wink: