org.apache.jasper.JasperException: Une exception s'est produite traitement page JSP /editinfo.jsp
J'ai ce code jsp où je suis en train de modifier les informations de l'utilisateur de ma page web. Je suis nouvelle dans les jsp de la programmation et je suis en train de vivre des erreurs. Voici mon code:
<%@page import="DatabaseTransactions.UserPhotosDataContext"%>
<%@page import="java.sql.ResultSet"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
if (session.getAttribute("id") == null) {
response.sendRedirect(request.getContextPath() + "/sign-in.jsp");
}
int userId = Integer.parseInt(session.getAttribute("id").toString());
ResultSet userInfo = UserPhotosDataContext.getUserProfileInfo(userId);
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Edit Information</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="styles.css" rel="stylesheet">
</head>
<body class="bodybg">
<jsp:include page="/navigation.jsp"/>
<% userInfo.next();%>
<div class="boxouter" style="margin-top:50px;">
<h3 class="muted">Edit Information</h3>
<!--- more code here---->
<br><br>
<form id="update-form" method="" action="">
<table style="margin:auto">
<tr>
<!--username-->
<td>
<label>Username <span id="uname-error" class="form-error"></span></label>
<input type="text" title="Use at least 6 characters"
name="username" id="uname"
value="<%=userInfo.getString("username")%>"
placeholder="Username" disabled="true">
</td>
<!--email-->
<td>
<label>Email <span id="email-error" class="form-error"></span></label>
<input type="text"
name="email" id="email"
value="<%=userInfo.getString("email")%>"
placeholder="Email" disabled="true">
</td>
</tr>
<!--- more code here---->
</table>
<center/>
<button class="btn btn-info" onclick="enablefields();" id="enablebtn" style="visibility:visible">Edit Information</button>
<a id="savelink" href="#" style="color:white;">
<button class="btn btn-info" id="savebtn" type="submit" style="visibility:hidden">Save</button>
</a>
<a href="#" style="color:white">
<button class="btn btn-info" id="deactivatebtn" style="visibility:visible">Deactivate Account</button>
</a>
</form>
</div>
</div>
<br><br>
<!--- more code here---->
<script type="text/javascript">
function setValues() {
if ("<%=userInfo.getString("gender")%>" == "Male")
$('select option:contains("Male")').prop('selected',true);
else if ("<%=userInfo.getString("gender")%>" == "Female")
$('select option:contains("Female")').prop('selected',true);
}
window.onload = setValues;
</script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/bootstrap.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/bootstrap.min.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/bootstrap-modal.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/bootstrap-popover.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/bootstrap-modalmanager.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/editinfo.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/holder.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/logout.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/js/bootstrap-dropdown.js"></script>
</body>
</html>
Quand je le lance, j'obtiens cette erreur:
org.apache.jasper.JasperException: Une exception s'est produite traitement
Page JSP /editinfo.jsp à la ligne 61
Ligne 61:
value="<%=userInfo.getString("email")%>"
- Je supprimer cette ligne et il fonctionne parfaitement bien (mais j'ai besoin de cela pour obtenir la valeur). Quand j'ai garder la ligne 61 et essayer d'enlever cette:
value="<%=userInfo.getString("nom")%>"
qui est à la ligne 52 de ma page, ça ne fonctionne toujours pas.
J'ai aussi remplacer la ligne 52 à la ligne 61 et ça fonctionne.
Je reçois aussi ces erreurs:
javax.servlet.ServletException: java.sql.SQLException: la Colonne "e-mail" est introuvable.
java.sql.SQLException: la Colonne "e-mail" est introuvable.
Mais je suis sûr à 100% que ma base de données d'une colonne email. Aussi, quand j'ai essayer ce pour les autres colonnes de ma base de données, il donne la même erreur. Il ne fonctionne que si elle est "nom d'utilisateur" de la colonne. S'il vous plaît aider moi. Comment puis-je résoudre ce problème?
J'ai essayé d'afficher une alerte et il fonctionne.
que voulez-vous dire? Je l'ai ici:ResultSet userInfo = UserPhotosDataContext.getUserProfileInfo(userId);
Ça ne marche toujours pas. S'il vous plaît aider 🙁
value="<%=userInfo.getString("nom")%>" si cela fonctionne pour vous, alors vous devez vérifier votre courriel de type varchar ou un format de chaîne de caractères
OriginalL'auteur achll | 2013-08-08
Vous devez vous connecter pour publier un commentaire.
l'expression des balises signifie <%= ....... >
a prendre le point-virgule (;) à la fin de l'expression.
J'espère que cela va fonctionner ,s'il vous plaît essayer cette.
OriginalL'auteur Mohsin Shaikh
Essayer:
ou
Pas
;
lorsque vous utilisez le<%= %>
expression.Aussi, je pense que vous n'avez pas besoin de deux
=
signes, mais seulement l'un à l'intérieur de<%= %>
.OriginalL'auteur Yitong
Essayez de la manière suivante:
Ne fait que résoudre le problème? En fait guillemets simples pourraient causer des problèmes
maintenant, est-il le même problème sur la ligne?
Oui. Il a toujours la même erreur.
OriginalL'auteur user2408578
depuis l'origine de l'erreur est
java.sql.SQLException
oublier JSP erreurs pour l'instant.Écrire quelques tests pour
UserPhotosDataContext.getUserProfileInfo(userId)
de sorte que vous pouvez déboguer le jeu de résultats.Vous êtes sûr
email
est dans la table êtes-vous sûr que c'est dans la requête sql ?Aussi, assurez-vous de récupérer les colonnes du jeu de résultats dans l'ordre où ils apparaissent dans le jeu de résultats.
Par exemple, si votre jeu de résultats est:
email, username, ...
puis essayez d'accéder
email
après que vous avez déjà accédé àusername
fonctionne pas.Je dis parce que c'est probablement spécifique à ce pilote de base de données que vous utilisez - je suis tombé sur ce lors de l'utilisation de Sybase.
OriginalL'auteur user1373164
<%
%>`
Résoudre cette erreur...
OriginalL'auteur L VEERAPANDI BCA