jsp sql查询从表中打印,等号符号预期错误

时间:2016-05-13 06:01:20

标签: sql jsp session-variables taglib javadb

我想从用户名等于当前用户的表中打印值,我从session.getattribute获取当前用户("用户名"),但是sql语句给出错误说&# 34;预期的符号相同",你能告诉我下面的代码有什么问题以及如何正确地做到这一点,谢谢

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

1 个答案:

答案 0 :(得分: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}'/>

参考,