Je peux passer une variable d’un scriptlet JSP à JSTL mais pas de JSTL à un scriptlet JSP sans erreur

Le code suivant provoque une erreur:

1.  2.  7.  

L’erreur dit

 "error a line 4: unknown symbol 'test'". 

Comment passer le test du code JSTL au scriptlet JSP?

    Les scripts sont des java bruts intégrés dans le code de la page et, si vous déclarez des variables dans vos scripts, ils deviennent des variables locales intégrées à la page.

    En revanche, JSTL fonctionne entièrement avec des atsortingbuts de scope, que ce soit au niveau de la page , de la request ou de la session . Vous devez retravailler votre scriptlet pour test en tant qu’atsortingbut:

      <% String resp = "abc"; String test = pageContext.getAttribute("test"); resp = resp + test; pageContext.setAttribute("resp", resp); %>  

    Si vous regardez les documents de , vous verrez que vous pouvez spécifier la scope tant que page , request ou session , et que la valeur par défaut est page .

    Mieux encore, n’utilisez pas de scriptlets: ils font pleurer bébé.

    @skaffman l’a bien compris. Ils vivent chacun dans son propre contexte. Cependant, je ne considérerais pas l’utilisation de scriptlets comme solution. Vous souhaitez les éviter . Si tout ce que vous voulez est de concaténer des chaînes dans EL et que vous avez découvert que l’opérateur + échoue pour les chaînes dans EL (ce qui est correct), alors faites simplement:

      

    Ou si abc est obtenu à partir d’une autre variable de scope nommée ${resp} , alors faites: