Uncaught ReferenceError: bTitle не определен

Я получил эту ошибку. но, кажется, хорошо понимает "keyField". потому что показывает bTitle!

list.do:29 Uncaught ReferenceError: bTitle is not defined
    at PageMove (list.do:29)
    at <anonymous>:1:1

когда я ищу конкретное слово, оно хорошо показывает страницы и сообщения на первой странице.

но когда я перехожу на страницу 2 или следующую страницу, ключевое слово поиска не применяется и не может перейти на следующую страницу.

но по-прежнему не могу перейти на следующую страницу. это проблема с адресом?

это мой код!

<% 
String keyWord = (String)request.getParameter("keyWord");
String keyField = (String)request.getParameter("keyField");
%>
<script>

    function searchCheck(frm){
        //검색
        if (frm.keyWord.value = = ""){
            alert("검색 단어를 입력하세요.");
            frm.keyWord.focus();
            return;
        }
        frm.submit();      
    }


    function PageMove(page){
        var keyWord = <%=keyWord%>
        var keyField = <%=keyField%>
        console.info(keyWord);
        if (keyWord && keyField){
       location.href = "list.do?page = "+page+"&keyWord = " + keyWord + "&keyField = " + keyField;
        }
        location.href = "list.do?page = "+page;
     }

</script>

    <table width = "800" cellpadding = "0" cellspacing = "0" border = "1">
        <tr>
            <td>번호</td>
            <td>이름</td>
            <td>제목</td>
            <td>날짜</td>
            <td>히트</td>
        </tr>
        <c:forEach items = "${list}" var = "dto">
        <tr>
            <td>${dto.bId}</td>
            <td>${dto.bName}</td>
            <td>
                <c:forEach begin = "1" end = "${dto.bIndent}">-</c:forEach>
                <a href = "content_view.do?bId=${dto.bId}">${dto.bTitle}</a></td>
            <td>${dto.bDate}</td>
            <td>${dto.bHit}</td>
        </tr>
        </c:forEach>
        <tr>
            <td colspan = "5">
                <form action = "list.do" method = "post" name = "search">
                <select name = "keyField">
                    <option value = "bTitle">글 제목</option>
                    <option value = "bContent">글 내용</option>
                    <option value = "bName">작성자</option>
                </select>
                <input type = "text" name = "keyWord">
                <input type = "button" value = "검색" onclick = "searchCheck(form)">
                <%-- <input type = "hidden" value = "${keyWord}">
                <input type = "hidden" value = "${keyField}"> --%>
                </form>
            </td>
        </tr>


        <tr>
            <td colspan = "5"> <a href = "write_view.do">글작성</a> </td>
        </tr>
    </table>
    <%=PageAction.pageNumber() %>

    <div class = "toolbar-bottom">
  <div class = "toolbar mt-lg">
    <div class = "sorter">
      <ul class = "pagination">
        <li><a href = "javascript:PageMove(${paging.firstPageNo})">맨앞으로</a></li>
        <li><a href = "javascript:PageMove(${paging.prevPageNo})">앞으로</a></li>
              <c:forEach var = "i" begin = "${paging.startPageNo}" end = "${paging.endPageNo}" step = "1">
                  <c:choose>
                      <c:when test = "${i eq paging.pageNo}">
                <li class = "active"><a href = "javascript:PageMove(${i})">${i}</a></li>
                      </c:when>
                      <c:otherwise>
                        <li><a href = "javascript:PageMove(${i})">${i}</a></li>
                      </c:otherwise>
                  </c:choose>
              </c:forEach>
        <li><a href = "javascript:PageMove(${paging.nextPageNo})">뒤로</a></li>
        <li><a href = "javascript:PageMove(${paging.finalPageNo})">맨뒤로</a></li>
      </ul>
    </div>
  </div>
</div>

BListCommand.java

public class BListCommand implements BCommand {


    @Override
    public void execute(HttpServletRequest request, HttpServletResponse response) {

        BDao dao = new BDao();
        String keyField = request.getParameter("keyField");
        String keyWord = request.getParameter("keyWord");
        System.out.println("키워드는~~:??"+keyField);
        List<BDto> dtos  ;
        int totalCount = dao.getTotalRecord(keyField,keyWord);
        System.out.println(totalCount);
        int page = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));

        Paging paging = new Paging();
        paging.setPageNo(page); //get방식의 parameter값으로 반은 page변수, 현재 페이지 번호
        paging.setPageSize(10); // 한페이지에 불러낼 게시물의 개수 지정
        paging.setTotalCount(totalCount);

        paging.setKeyField(keyField);
        paging.setKeyWord(keyWord);
        System.out.println("페이지넘버BListCommand"+page);
        page = (page - 1) * 10; //select해오는 기준을 구한다.
        System.out.println("페이지넘버BListCommand"+page);

        int endpage=page+10;
        dtos = dao.getBoardList(page+1, endpage,keyField,keyWord);


        request.setAttribute("paging", paging);
        request.setAttribute("list", dtos);
        request.setAttribute("keyField", paging.getkeyField());
        request.setAttribute("keyWord", paging.getKeyWord());


    }
}
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
77
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я почти уверен, что вы хотели, чтобы ваши значения переменных были строками. Вам нужно написать:

var keyWord = '<%=keyWord%>'
var keyField = '<%=keyField%>'

Обратите внимание на одинарные кавычки вокруг вывода Java. Это заставит JavaScript обрабатывать выходные значения как строки. Прямо сейчас способ их вывода означает, что он видит их как имена переменных, но, конечно, эти переменные не существуют в вашем JavaScript.

Благодарность! оно работает. Вы хоть представляете, почему ключевое слово для поиска не применяется? Тем не менее, когда я ищу конкретное слово, классифицируется только первая страница. следующая страница показывает исходную следующую страницу :(

user10481445 17.10.2018 11:04

Извините, я не совсем понимаю, что вы имеете в виду. Возможно, вам лучше задать новый вопрос об этом, тогда вы сможете привести более подробную информацию и соответствующий пример.

ADyson 17.10.2018 11:09

Другие вопросы по теме