Variável em link

Olá amigos, como vão?

Estou precisando de uma nova ajuda, estou usando um if, caso de true responde o seguinte:

out.println("<a >&lt;%= nome %&gt; + &gt; Comprar </a>");

caso não, responde outra coisa.

Só que não consigo fazer a variavel entrar no valor ai, o código inteiro segue:

&lt;%
String nome = request.getParameter("username");
String fone = request.getParameter("password");

conexao.conectar();
agenda.setConexao(conexao.getConexao());

if (agenda.login(nome, fone))
	out.println("&lt;a href='/dwjdb/login?username='&lt;%= nome %&gt; + Comprar </a>");
else
	out.println("&lt;h2&gt;Quem sois vos!&lt;/h2&gt;" + nome + fone + agenda.login(nome, fone));
	conexao.fechar();
%&gt;

O link vem com login?username=<%= nome%> porque vai ir direto pra uma classe, onde é iniciada a sessão, por isso não vai pra uma pagina login.jsp, e sim pra login apenas, que está indicado na web.xml.

Agradeço a ajuda que puderem dar, valeu.

Tente:

&lt;%  
String nome = request.getParameter("username");  
String fone = request.getParameter("password");  
  
conexao.conectar();  
agenda.setConexao(conexao.getConexao());  
  
if (agenda.login(nome, fone))  
    out.println("&lt;a href='/dwjdb/login?username=&lt;%= nome %&gt;'&gt; Comprar &lt;/a&gt;");  
else  
    out.println("&lt;h2&gt;Quem sois vos!&lt;/h2&gt;" + nome + fone + agenda.login(nome, fone));  
    conexao.fechar();  
%&gt; 

Não tem necessidade de concatenar texto quando está usando as tags “<%=” e “%>”

por estar dentro de <% no início, ele da erro dentro de out.println com <%, não sei como devo montar isso, deve ter um response que permita colocar texto e <% dentro de aspas ou algo assim.

mas mesmo assim obrigado pela ajuda, eu tentei o que me passou e deu erro do mesmo jeito.

Você tentou assim?

&lt;%  
String nome = request.getParameter("username");  
String fone = request.getParameter("password");  
  
conexao.conectar();  
agenda.setConexao(conexao.getConexao());  
  
if (agenda.login(nome, fone))  
    out.println("&lt;a href='/dwjdb/login?username=" + nome + "'&gt; Comprar &lt;/a&gt;");  
else  
    out.println("&lt;h2&gt;Quem sois vos!&lt;/h2&gt;" + nome + fone + agenda.login(nome, fone));  
    conexao.fechar();  
%&gt; 

Agora que percebi, nome é uma variável hahahaha