ESAPI para prevenção de XSS não está funcionando

Estou trabalhando na correção de problemas de script entre sites em nosso código, principalmente em JSPS.

Abaixo está o código original

 //scriplet code
    <% String userId = request.getParameter("sid"); 
    ...%>

e no mesmo Jsp eles têm

     <input type = hidden name = "userID" value = "<%= userId %>" />

Fiz alterações para incluir esapi-2.1.0.jar na lib e ESAPI.properties, validation.properties no caminho de classe. Em seguida, fez as alterações abaixo no código do scriplet para corrigir o código acima

      //scriplet code
    <% String userId = ESAPI.encoder().encodeForHTML(request.getParameter("sid")); 
    ...%>

Eu pensei que isso resolveria o problema, mas quando digitalizo meu código usando o Fortify, essas linhas são novamente destacadas como tendo um problema XSS. Por favor, ajudem se vocês têm alguma idéia de como isso deve ser tratado. Obrigado.

------- ATUALIZAÇÃO

Muito obrigado @avgvstvs. Isso é muito perspicaz. Siga orientações, Não tenho certeza se estou sentindo alguma coisa. Código -

          String              userSID=ESAPI.encoder().encodeForHTMLAttribute(request.getHeader("janus_sid")); session.setAttribute("username",userSID);<input type=hidden name="USERNAME" value="<%= userSID %>"

E para outra depuração varibale, abaixo está o uso

       String debugFlag =  ESAPI.encoder().encodeForJavaScript(request.getParameter("debug"));var debugFlag = "<%= debugFlag%>";if(debugFlag == "y"){       
        document.title=   title + " (" + host + ")";
        defaultAppTitle = title + " (" + host +  ")";           
    }                                                           

A varredura mais recente do Fortify ainda as lista de vulnerabilidades :-(

questionAnswers(2)

yourAnswerToTheQuestion