Enviando parâmetro JSP que vem de uma lista [RESOLVIDO]

Senhores,

Estou tentando chamar uma pagina JSP por outra pagina, passando o parâmetro que vem de um list, mas não consigo pegar o valor do Id:

[code]<%@page contentType=“text/html” pageEncoding=“UTF-8”%>
<%@taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
<%@taglib prefix=“sql” uri=“http://java.sun.com/jsp/jstl/sql” %>

Categorias Categorias
            <sql:query dataSource="${conexao}" var="consulta">
                select idcategorias, categoria from categorias order by categoria
            </sql:query>
                <td><a href="incluircategorias.jsp">Incluir nova Categoria</a></td>
                <table>
                    <c:forEach var="linha" items="${consulta.rows}">
                        <tr>
                            <td><a href="mantercategorias.jsp"><c:out value="${linha.categoria}"/></a></td>
                            <c:set var="id" value="${linha.idcategorias}"></c:set> //Preciso passar o valor desse id para poder deletar                                                               
                            <% String codigo = request.getParameter("id"); %>
                            <td><a href="delete.jsp?id=<%= codigo %>"><c:out value="excluir"/></a></td>
                            
                        </tr>    
                    </c:forEach>
                        
                </table>        
</body>
[/code]

Obs: precisa ser com JSTL, não pode ser com JavaScript

<c:set var="id" value="${linha.idcategorias}"></c:set> //Preciso passar o valor desse id para poder deletar                                                                 
                                <% String codigo = request.getParameter("id"); %>  
                                <td><a href="delete.jsp?id=<%= codigo %>">

Meu, gambiarra é pouco, não?
Se está utilizando JSTL por que encher de scriptlet no código? Coisa feia e ridícula.

Isso tudo ali de cima por ser substituído por

<c:out value="<a href=\"delete.jsp?id=\"${linha.idcategorias}\">Excluir</a>"/>

Amigo, obrigado pela ajuda!
Na verdade estou estudando melhor essa parte de JSTL, por isso estou testando algumas coisas.
De qualquer forma agradeço a ajuda!

Porem tá aparecendo assim no browser:

Categorias
Incluir nova Categoria
categoria1	<a href="delete.jsp?id="1">Excluir</a> 

Ops, fazer 3001 coisas ao mesmo tempo não dá certo.
Veja quão simples isso pode ficar:

    <c:out value="<a href=\"delete.jsp?id=\"${linha.idcategorias}\">Excluir</a>"/>  

Se torna

<a href="delete.jsp?id=${linha.idcategorias}">Excluir</a>

A EL (aquilo que começa com ${ e termina em }) é interpretada por completo, independente de estar em uma tag JSTL.
Aliás, é possível utilizar EL sem nenhuma linha ou taglib referenciando JSTL.

Cara muito obrigado pela ajuda e atenção!

Outra dica, após estudar essa parte de conexão com o banco, esqueça que é possível acessar banco de dados diretamente da JSP.
A função da JSP é exibir e receber informações oriundas ou que serão utilizadas para o processamento.
Consultas são feitas em classes específicas.

[quote=drsmachado]Outra dica, após estudar essa parte de conexão com o banco, esqueça que é possível acessar banco de dados diretamente da JSP.
A função da JSP é exibir e receber informações oriundas ou que serão utilizadas para o processamento.
Consultas são feitas em classes específicas.[/quote]

Ok! Isso eu sei! É como eu te disse estou apenas estudando e vendo os recursos que posso utilizar!
Mas de qualquer forma obrigado por reforçar e valeu a dica!