J'ai un servlet qui transfère à une page HTML, en utilisant la redirection. Parce que j'utilise ajax et php sur la page html pour effectuer d'autres fonctions. Peut se transformer en jsp. Existe-t-il un moyen d'obtenir le nom - "poNumber" obtenu dans la servlet dans les attributs de session Je devais l'obtenir et afficher sa valeur.
Je suis nouveau en programmation.
Peut obtenir ce travail dans JSP.
Cependant, il faut que cela fonctionne dans une page HTML. Puis-je le faire avec javascript?
J'ai essayé:
<script type="text/javascript">
var purchaseOrderNo = session.getAttribrute("pONumb");
document.write("pONumb");
</script> [
Cela ne génère aucune valeur sur la page HTML.
A tenté:
<script type="text/javascript">
var purchaseOrderNo = (String) session.getAttribrute("pONumb");
document.write("pONumb");
</script>
Encore une fois, pas de sortie sur la page.
A tenté:
<script type="text/javascript">
String purchaseOrderNo = (String) session.getAttribrute("pONumb");
document.write("pONumb");
</script>
Encore une fois pas de sortie sur la page?
Impossible de penser à autre chose à essayer. Le servlet qui redirige vers cette page HTML crée et définit l'attribut de session pONumb.
Non, tu ne peux pas. JavaScript est exécuté côté client (navigateur), tandis que les données de session sont stockées sur le serveur.
Cependant, vous pouvez exposer les variables de session pour JavaScript de plusieurs manières:
Dans JSP, vous auriez quelque chose comme:
<input type="hidden" name="pONumb" value="${sessionScope.pONumb} />
ou:
<div id="product" data-prodnumber="${sessionScope.pONumb}" />
Puis en JS:
// you can find a more efficient way to select the input you want
var inputs = document.getElementsByTagName("input"), len = inputs.length, i, pONumb;
for (i = 0; i < len; i++) {
if (inputs[i].name == "pONumb") {
pONumb = inputs[i].value;
break;
}
}
ou:
var product = document.getElementById("product"), pONumb;
pONumb = product.getAttribute("data-prodnumber");
L'exemple en ligne est le plus simple, mais si vous souhaitez ensuite stocker votre code JavaScript en tant que ressource externe ( comme recommandé ), cela ne sera pas réalisable.
<script>
var pONumb = ${sessionScope.pONumb};
[...]
</script>
<%
String session_val = (String)session.getAttribute("sessionval");
System.out.println("session_val"+session_val);
%>
<html>
<head>
<script type="text/javascript">
var session_obj= '<%=session_val%>';
alert("session_obj"+session_obj);
</script>
</head>
</html>
Le code ci-dessous peut vous aider à atteindre l'attribut de session à l'intérieur de Javascript:
var name = '<%= session.getAttribute("username") %>';
<?php
$sessionDetails = $this->Session->read('Auth.User');
if (!empty($sessionDetails)) {
$loginFlag = 1;
# code...
}else{
$loginFlag = 0;
}
?>
<script type="text/javascript">
var sessionValue = '<?php echo $loginFlag; ?>';
if (sessionValue = 0) {
//model show
}
</script>