Utilisation d'expressions régulières dans JSP EL
En EL expressions, utilisées dans une page jsp, les chaînes de caractères sont pris à la lettre. Par exemple, dans l'extrait de code suivant
<c:when test="${myvar == 'prefix.*'}">
test ne permet pas d'évaluer la valeur true si la valeur de myvar est " prefixxxxx.' Personne ne sait si il existe un moyen pour avoir la chaîne interprété comme une expression régulière à la place? Ne EL ont quelque chose de semblable à awk tilde ~ opérateur?
source d'informationauteur MCS
Vous devez vous connecter pour publier un commentaire.
Bien que ce cas particulier peut être manipulé avec la JSTL
fn:startsWith
fonction, les expressions régulières, en général, semblent comme très probable tests. Il est malheureux que les JSTL ne comprend pas de fonction pour ces.Sur le côté positif, c'est assez facile à écrire un EL fonction qui fait ce que vous voulez. Vous avez besoin de la fonction de mise en œuvre, et un TLD pour permettre à votre application web savoir où la trouver. Mettre ensemble dans un bol et le déposer dans votre WEB-INF/lib.
Voici les grandes lignes:
com/x/taglib/core/Regexp.java:
META-INF/x-c.tld:
Désolé, je n'ai pas testé cette fonction particulière, mais j'espère que c'est assez pour vous diriger dans la bonne direction.
Vous pouvez utiliser JSTL fonctions comme le
Prendre un coup d'oeil: http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/fn/tld-summary.html
Simplement ajouter la ligne suivante à WEB-INF/tags.tld
Puis dans votre jsp
Cela fonctionne exactement le même que De modèle.match
pour l'utilisation de Modèle.allumettes à l'intérieur d'une page jsp dans mon cas, c'était assez pour appeler
java.util.regex.De modèle.correspond à(regexString,stringToCompare) parce que vous ne pouvez pas importer un package en jsp