2016-05-13 7 views
0

Я хочу напечатать значения из таблицы, где имя пользователя равно текущему пользователю, im получая текущего пользователя от session.getattribute («имя пользователя»), но оператор sql выдает ошибку, говоря «равный символ ожидается», вы можете сказать мне, что случилось с ниже код и как сделать это правильно, спасибоjsp sql запрос print from table, равный символ ожидаемая ошибка

<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> 

ответ

0

установить его в переменную JSTL, вместо того, чтобы пытаться напрямую. Вы должны использовать JSTL TagLib,

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

Попробуйте этот код,

<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> 

Вы можете получить доступ к сессии контекстные переменные внутри JSP страницы, двумя различными способами,

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

литературы,

+0

спасибо :) @vinoth – Yomk

+0

Добро пожаловать. Если вы обнаружили, что указанный ответ исправил вашу проблему, отметьте его как [принято] (http://stackoverflow.com/help/accepted-answer) и [проголосовать] (http://stackoverflow.com/help/why-vote), может быть полезно для других. –

 Смежные вопросы

  • Нет связанных вопросов^_^