Как я проверяю свою базу данных время от времени на странице JSP? - PullRequest
0 голосов
/ 14 июля 2011

Хорошо, у меня есть веб-страница jsp, которая показывает мне, на какие курсы я зарегистрировался.код jsp, который выполняется в начале страницы:

<div>
<%
    String username = request.getUserPrincipal().getName();
    Iterable<Course> avCourses = ORM.getAvailableCourses(username);
%>
</div>
<form id="avCoursesForm">
                <fieldset>
                    <legend>Available courses: </legend>
                    <table class="coursesTable">
                    <tr id="firstTr" style="display: none;">
                    <td class="blueBorder" style="width:5%;"></td>
                    <td class="blueBorder" style="width:20%;"><b>Course name</b></td>
                    <td class="blueBorder" style="width:15%;"><b>Course id</b></td>
                    <td class="blueBorder" style="width:5%;"><b>Credit points</b></td>
                    <td class="blueBorder" style="width:10%;"><b>Group number</b></td>

                    </tr>
                    <%
                        Iterator<Course> iter = avCourses.iterator();
                        int size = 0;
                        while(iter.hasNext())
                        {
                            Course course = iter.next();
                            %>
                            <tr id="trOfTable<%=size%>" style="display: none;">
                                <td class="blueBorder" style="width:5px;"> 
                                    <input type="checkbox" name="option" value="<%=course.courseName%>" />
                                </td>
                                <td class="blueBorder"> 
                                    <a href=# onclick="getPage('<%=request.getContextPath() %>', '<%=course.courseName %>');">
                                    <%=course.courseName%> </a>
                                 </td>
                                 <td class="blueBorder">
                                    <%=course.courseId%>
                                 </td>
                                 <td class="blueBorder">
                                    <%=course.creditPoints%>
                                 </td>
                                 <td class="blueBorder">
                                    <%=course.groupNum%>
                                 </td>

                            </tr>
                            <%
                            size++;
                        }
                    %>
                    </table>
                </fieldset>
</form>

функция getAvailableCourses () находится в файле ORM.java (этот файл запрашивает БД).

Моя цель -проверять базу данных каждые X секунд, чтобы увидеть, доступен ли определенный курс для регистрации.Я не знаю, как это сделать.Вы можете мне помочь?Другими словами, я хочу асинхронно проверять базу данных и, соответственно, обновлять части страницы (недоступные курсы исчезнут и появятся новые доступные курсы).

tnx, Itamar.

1 Ответ

0 голосов
/ 15 июля 2011

Вы можете использовать javascript setTimeout.Этот метод вызывает целевую функцию javascript после каждого раза x.Вот псевдокод

<script type="text/javascript">

function checkCourse(){
   var courseId = 5; //for example
   // call servlet using ajax to check course is available or not.
  callServlet(); // you have to implement the callServlet
}

var x = 2000;
setTimeout("checkCourse()",x);
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...