2016-05-13 3 views
0

Je souhaite imprimer les valeurs d'une table où le nom d'utilisateur est égal à l'utilisateur actuel, en obtenant l'utilisateur actuel de session.getattribute ("nom d'utilisateur"), mais l'instruction sql donne une erreur « symbole égal expected », pouvez-vous me dire ce qui est erroné avec le code ci-dessous et comment le faire correctement, mercijsp requête sql imprime à partir de la table, symbole égal erreur attendue

<sql:query var="studentcourse" 
      dataSource="${vle}" 
      SELECT course_name FROM studentcourse WHERE username = '<%=session.getAttribute("username")%>' 
        </sql:query> 
<p>user = <%=session.getAttribute("username")%> 
<% System.out.println("username");%></p> 

Répondre

0

Set dans variable JSTL, au lieu d'essayer directement. Vous devez utiliser JSTL taglib,

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

Essayez ce code,

<c:set var="userName" value= "${sessionScope.username}"/> 
<sql:query var="studentcourse" 
     dataSource="${vle}"> 
    SELECT course_name FROM studentcourse WHERE username = ? ; 
    <sql:param value="${userName}"/> 
</sql:query> 

Vous pouvez accéder à la session scope variables à l'intérieur page JSP de deux façons différentes,

<c:out value='${sessionScope["username"]}' /><br/> 
<c:out value='${sessionScope.username}'/> 

Références,

+0

merci :) @vinoth – Yomk

+0

Vous êtes les bienvenus. Si vous trouvez que la réponse ci-dessus a corrigé votre problème, marquez-le comme [accepté] (http://stackoverflow.com/help/accepted-answer) et [votez] (http://stackoverflow.com/help/why-vote), pourrait être utile pour d'autres. –