J'ai JSP simple:
<jsp:directive.attribute name="severity" type="java.lang.String" required="true"/>
<jsp:directive.attribute name="currentSeverity" type="java.lang.String" required="true"/>
<c:if test="${severity ne currentSeverity}">
<c:url value="/session" var="url">
<c:param name="severity" value="${severity}"/>
</c:url>
<li><a href="#" onclick="$.ajax({
type: 'GET',
url: '${url}',
success: function() {
window.location.reload();
}
});"><c:out value="${severity}"/></a></li>
</c:if>
Mais quand je l'évaluer moteur servlet lancers francs:
org.apache.jasper.JasperException:
/WEB-INF/tags/severity-position.tagx(17,9) PWC6287:
The attribute prefix success does not correspond to any imported tag library
D'une manière ou d'une autre, le moteur JSP pense que la chaîne $.ajax({...});
est une expression JSP EL (quels que soient les caractères placés entre $
et {
). Lorsque je backslash {
ou $
tout va bien, mais mon IDE pense que ce code est cassé code JS. Alors pourquoi le moteur JSP pense-t-il que $.ajax({...})
est l'expression JSP EL?
J'utilise la jetée pour le développement. J'ai essayé les implémentations de moteurs JSP Tomcat et Glassfish. Il semble que les deux ont ce problème. Je pense que la séparation des préoccupations est une bonne idée de toute façon, donc j'ai déplacé le code JS du modèle JSP. Merci beaucoup. –
De rien. – BalusC