Несколько Java Scriptlet на одной странице JSP - PullRequest
1 голос
/ 23 мая 2019

Я хочу выбрать данные SQL с предложением WHERE, но я не знаю, как с ними работать.

Мой ожидаемый запрос SQL: SELECT * FROM OLSUSER WHERE user=login_user;

Это мой HttpSession с тегом Java Sciptlet

<%
    HttpSession sessions = request.getSession(false);
    String login_user = (String) sessions.getAttribute("l_user");
    String login_role = (String) sessions.getAttribute("l_role");
%>

Это выбор SQL с тегом Sciptlet

<%
    try {
        Class.forName("org.apache.derby.jdbc.ClientDriver");
        Connection con = (Connection) DriverManager.getConnection(
                "jdbc:derby://localhost:1527/sample", "app", "app");

        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery("select * from OLSOrder");
%><table border=1 align=center style="text-align: center">
            <tbody>
                <tr>
                   //table data

1 Ответ

0 голосов
/ 23 мая 2019

Вы можете использовать PreparedStatement для передачи значения в запросе select. Например: -

<%
    HttpSession sessions = request.getSession(false);
    String login_user = (String) sessions.getAttribute("l_user");
    String login_role = (String) sessions.getAttribute("l_role");
    try {
        Class.forName("org.apache.derby.jdbc.ClientDriver");
        Connection con = (Connection) DriverManager.getConnection(
                "jdbc:derby://localhost:1527/sample", "app", "app");
        //passing your query in preparestatement using (?)   
         PreparedStatement ps = con.prepareStatement("select * from OLSUSER  where user=?");
           //putting value for placeholder (?)
              ps.setString(1,login_user);
             ResultSet resultset= ps.executeQuery();
     %>
 <!--printing table-->
    <table align="center" cellpadding="2" cellspacing="2" border="1">
             <tr bgcolor="#d9ac26">
                  <th>Columnname</th>
                  <th>Columnname </th>
                  <!--print same as above--> 
              </tr>
                <% while(resultset.next()){ %>       
             <tr>
                 <td><%=resultset.getString("yourcolumnname")%> </td>
                 <td><%=resultset.getString("yourcolumnname")%> </td>
               <!--print same as above-->
              </tr>
              <% } %>
          </table>
...