L'actualisation d'un élément DIV qui a JSP extrait de code à l'intérieur
J'ai une page JSP où je lis les Attributs de Session que j'ai mis dans la Session.
Je veux lire les attributs de Session à intervalles réguliers. Je ne veux pas recharger toute la page au lieu de cela je suis juste en gardant ma JSP Session attributs de lecture dans mon DIV et d'essayer de recharger la DIV. Mais il n'est pas le rechargement de la DIV.
Voici mon code de base:
<html>
<head>
//Loading CSS and Script files
</head>
<body>
<div id="loadData" style='display:none;'>
<%
String strStatus = String.valueOf(session.getAttribute("Status")) ;
%>
</div>
</body>
<script type="text/javascript">
var reqStatus = '<%= strStatus %>';
$(this).load(function(){
setInterval(function() {
$("#loadData").load();
} ,1000);
});
$("#loadData").load(function(){
if(reqStatus == 'Done') {
//My Code goes here..
}
});
</html>
Toutes les meilleures idées sont également les bienvenues.
Vous devez vous connecter pour publier un commentaire.
JSP rend une fois, sur le serveur, et est ensuite envoyé au client, après quoi le code Java ne fait rien. Vous ne pouvez pas mettre à la fois le code HTML/javascript code et le code Java dans le même fichier si vous voulez être chargé à différents moments /fréquences.
Mettre ceci en séparer .fichier jsp:
Supposons qu'elle est mappée à une url
/checkStatus.jsp
Supprimer la loadData div parce que vous n'avez pas besoin de plus. Remplacer votre javascript avec:
Votre code JSP est évaluée qu'une seule fois -- lorsque la page se charge. Lorsque JSP code s'exécute, le code HTML est généré et envoyé au navigateur. Vous ne pouvez pas vous "recharger" un div comme ça; le code JSP ne sera pas exécuté.
Ce que vous pouvez faire est de mettre le code JSP dans un filee et ensuite utiliser
jQuery.load
pour charger la page dans un div:status.jsp
contiendra uniquement la ligne:Le code dans une page JSP est compilé/exécuté avant que le HTML résultant est envoyé au navigateur. Vous ne pouvez pas recharger la partie de la page est-rendus et attendre qu'il change. Vous auriez probablement besoin de faire un iframe caché et de le recharger complètement (facile), ou faire un webservice pour interroger les params (plus difficile).