게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
jsp오류!! 게시판 만들기 오류부분만(소스, 에러 로그!!) 첨부
게시물ID : programmer_11603짧은주소 복사하기
작성자 : 햇반a
추천 : 0
조회수 : 1395회
댓글수 : 5개
등록시간 : 2015/06/25 13:00:23
음.... 게시판을 리스트를 불러오는 곳에서 오류로.... 고생하고 있습니다.

일단 에러 로그를 보여드릴게요
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 4
at java.lang.String.substring(Unknown Source)
at org.apache.jsp.ch12.list_jsp._jspService(list_jsp.java:177)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
... 50 more

음.... String index out of range : 4인거로 바서 분석을 해보면
ex)길이가 2인 배열에 즉 0, 1, 2 이렇게 주소가 있으면 여기를 넘어서 다른 주소를 참조하여 생기는 문제인거 같은데요...
아래는 list를 수행하는 소스입니다... 음.... 사실 에러는 얼추 이해가 되는뎅.... 게시판이 처음이다보니... 어디가 적확하게 문제인지
분석이.... 모자랍니다... 형님들 한수부탁드려요...ㅠㅜ

<%
request.setCharacterEncoding("utf-8");

String id = "";
int pageSize = 3;
SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd HH:mm");

String pageNum = request.getParameter("pageNum");
if (pageNum == null) {
pageNum = "1";
}
int count = 0;
int currentPage = Integer.parseInt(pageNum);
List<BoardDataBean> articleList = null;
BoardDBBean dbPro = BoardDBBean.getInstance();
count = dbPro.getArticleCount();
if(count == (currentPage-1)*pageSize){
currentPage -=1;
}
int startRow = (currentPage -1) * pageSize +1;
try{
if(count > 0){
articleList = dbPro.getArticles(startRow, pageSize);
}
if(articleList.isEmpty()){
count = 0;
}
}catch(Exception e){}
%>

<div id="list_head" class="box2">
<h3 class="inline">
글목록(전체 글:<%=count%>)
</h3>
<button id="new">글쓰기</button>
</div>

<%
if (count == 0){
%>
<div id="list_article" class="box2">
<ul>
<li><p>게시판에 저장된 글이 없습니다.
</ul>
</div>
<%
}else{
%>
<div id="list_article" class="box2">
<%
for (int i = 0 ; i < articleList.size() ; i++) {
    BoardDataBean article = articleList.get(i);
%>
<ul class="article">
<li class="layout_f">
<%
String writer = article.getWriter();
      out.println(writer.substring(0, 4) + "****");
%>
<li class="layout_f">
<%
int wid=0; 
if(article.getRe_level()>0){
   wid=5*(article.getRe_level());
%> <img src="../images/level.gif" width="<%=wid%>"> <img
src="../images/re.gif"> <%
  }else{
 %> <img src="../images/level.gif" width="<%=wid%>" height="16"> <%
  }
 %> <%
  int num = article.getNum();
      int ref = article.getRef();
      int re_step = article.getRe_step();
      int re_level = article.getRe_level();
 %> <%=article.getSubject()%>
<p class="date"><%=sdf.format(article.getReg_date())%><br>
<pre><%=article.getContent()%></pre><br> <%
  try{
        id = (String)session.getAttribute("id");
          }catch(Exception e){}
 %> <%
  if(id.equals(writer)) {
 %>
<button id="edit" name="<%=num+","+pageNum%>" onclick="edit(this)">수정</button>
<button id="delete" name="<%=num+","+pageNum%>" onclick="del(this)">삭제</button>
<%
}else{
%>
<button id="reply"
name="<%=num+","+ref+","+re_step+","+re_level+","+pageNum%>"
onclick="reply(this)">댓글쓰기</button> <%
  }
 %>
</ul>
<%
}
%>
</div>
<%
}
%>


<div id="jump" class="box3">
<%
if (count > 0) {
  int pageCount = count / pageSize + ( count % pageSize == 0 ? 0 : 1);
  int startPage = 1;
  if(currentPage % pageSize != 0)
     startPage = (int)(currentPage/pageSize)*pageSize + 1;
  else
     startPage = ((int)(currentPage/pageSize)-1)*pageSize + 1;
  int pageBlock = 3; 
  int endPage = startPage + pageBlock-1;
  
  if (endPage > pageCount) endPage = pageCount;
       
  if (startPage > pageBlock) {
%>
<button id="juP" name="<%=startPage - pageBlock%>" onclick="p(this)"
class="w2">이전</button>
&nbsp;
<%
}
  for (int i = startPage ; i <= endPage ; i++) {  
    if(currentPage == i){
%>
<button id="ju" name="<%=i%>" onclick="p(this)" class="w1"><%=i%></button>
<%
}else{
%>
<button id="ju" name="<%=i%>" onclick="p(this)" class="w"><%=i%></button>
<%
}
%>
&nbsp;
<%
}
  if (endPage < pageCount) {
%>
&nbsp;
<button id="juN" name="<%=startPage + pageBlock%>" onclick="p(this)"
class="w2">다음</button>
<%
}
}
%>
</div>
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호