【问题标题】:jsp paging problem when i go to next page searching keyword doesn't apply当我转到下一页搜索关键字不适用时,jsp分页问题
【发布时间】:2019-03-21 16:27:03
【问题描述】:

当我搜索特定单词时,只有第一页被分类。它在第一页上显示页面和帖子。

但是当我转到第 2 页或下一页时,搜索关键字不适用于 这是地址问题吗?

我猜这是 sql 或 Paging.java 问题,因为当我在 BDAO 打印页面日志时,它会很好地显示我点击的页面。

我也不知道如何为此转移 keyWord &keyField ..!

我使用 oracle 数据库。

  <% 
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.log(keyWord);
         if(keyWord !=''){
        location.href = "list.do?page="+page+"&keyWord=" + keyWord + "&keyField=" + keyField;
         }
         location.href = "list.do?page="+page;
      }
</script>
</head>
<body>  

    <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)">
                </form>
            </td>
        </tr>


        <tr>
            <td colspan="5"> <a href="write_view.do">글작성</a> </td>
        </tr>
    </table>

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

【问题讨论】:

  • 您需要将它们添加到您的 servlet 中的 request 对象中
  • @ScaryWombat 我添加了 BListCommand.java。我认为在 BListCommand.java 中。我做了?
  • 你是否从 DTO 公开了 bTitle 属性,即类中是否有 getBTitle() 方法?
  • @MickMnemonic 我添加了 ' ' 并且它有效!但是当我搜索特定单词时,仍然只对第一页进行分类。下一页不适用于
  • 那么,您是否尝试按照我的建议从PageMove()document.getElementById(...) 中的页面元素中获取关键字段/单词值?

标签: java sql oracle jsp


【解决方案1】:

当您调用pageMove() 时,您似乎从未传递关键字或键域。您不妨在函数内部查找它们的值,而不是将它们作为参数:

function PageMove(page){
    var keyWord = document.getElementById("keyWord").value;
    var keyField = document.getElementById("keyField").value;
    location.href = "list.do?page=" + page + "&keyWord=" + keyWord + "&keyField=" + keyField;
}

【讨论】:

  • 我尝试用你的代码修复它,但是出现错误“Uncaught ReferenceError: bTitle is not defined”,当我搜索特定单词时它不会转到下一页!也无法读取 document.getElementById("keyWord").value;
  • 请不要在cmets中添加代码;改为编辑问题以包含此信息。您的问题没有提到Uncaught ReferenceError 问题。你经常看到吗?请在问题中直接包含有关您遇到的问题的所有相关信息。
  • 对不起!我编辑了代码!感谢您让我知道规则!
  • 我写完了!!固定,它的工作原理!我没有用javascript设置本地地址!
猜你喜欢
  • 2019-10-03
  • 1970-01-01
  • 2021-03-23
  • 2012-06-18
  • 2021-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多