2010-10-25 4 views
0
<% if(empRecNum != null && !(empRecNum.equals(""))) 
     { 
      empSelected=true; 
     } 
     boolean canModify = UTIL.hasSecurity("PFTMODFY") && empSelected; 
%> 

<script type="text/javascript"> 

    function add(){ 
     alert(canModify); 
     df('ADD'); 
    } 

</script> 

Je dois alerter le canModify dans mon JavaScriptpasser la valeur à JavaScript de JSP

Répondre

3

Je sais que j'utilise quelque chose comme ceci:

<% 
String s = "BOB"; 
%> 
<script> 
alert('<%= s %>'); 
</script> 

Le '<% =%>' étiquette vous permet de mettre la valeur de la variable java.

+1

Vous devez échapper à la chaîne pour bloquer les attaques XSS. – SLaks

+0

Oui, et la façon la plus simple d'y parvenir est d'utiliser un codeur JSON. – bobince

2

faire quelque chose comme.

function add(){ 
     alert(<%=canModify%>); 
     df('ADD'); 
    } 
3

Evadez-vous de l'utilisation scriptlets, utilisation jstl et la langue d'expression et il ressemblerait à ceci:

alert(${UTIL.hasSecurity("PFTMODFY") 
     && empRecNum != null 
     && !(empRecNum.equals("") 
     } 
    ); 
+1

Cela fonctionnera ** si ** "UTIL" est une référence disponible dans la carte des attributs de la requête (ou peut-être la carte de l'attribut page, je ne me souviens pas si cela fonctionne implicitement ou pas). Si c'est juste une variable déclarée dans un scriptlet, cela ne fonctionnera pas. Je suis d'accord avec vous cependant que les scriptlets sont horribles et en 2010 personne ne devrait les utiliser. – Pointy

Questions connexes