안녕하세요.. <div><br></div> <div>어릴때부터 프로그래밍에 대한 관심이 많았습니다.</div> <div><br></div> <div>이런저런 핑계로 프로그래밍을 멀리하다가 이제라도 해보자 라는 마음으로</div> <div><br></div> <div>기초부터 공부해가며 코딩원이라도 좋고 잡부라도 좋으니 직접 현장에 들어가고싶다라고 느껴</div> <div><br></div> <div>회사를 찾아보던중 한 회사에 이력서를 넣게 되었습니다.</div> <div><br></div> <div>그 후 면접을 보게 되었고 </div> <div><div><br></div> <div>어릴때 조금 해본 아마추어 중의 아마추어 지식.. 거의 0%라고 할수 있는 제가</div> <div><br></div> <div>입사시험이라는 기회를 받게 되었습니다.</div> <div><br></div> <div>하고싶어하는 마음이 보이고 열정이 보였기 때문에 기회를 주기로 하셨다고...</div> <div><br></div> <div>그런 믿음과 기대감도 지키고 싶고 이런저런 핑계로 미뤘던 꿈에 대해 이제부터라도 한발 한발 내딛고 싶어 공부를 시작하게 되었습니다.</div> <div><br></div> <div>내어주신 입사시험. 즉 과제의 내용은 스트럿츠 프레임워크를 이용해 게시판을 만들기. 입니다. </div> <div><br></div> <div>현재 국내에서 스트럿츠를 사용하는 곳은 많이 없다고 들었습니다.</div> <div><br></div> <div>구글링을 해보아도 자료가 턱없이 부족했기때문에 동영상 강의로 공부를 진행하게 되었는데요.</div> <div><br></div> <div>C언어의 정말 기본적인 기본 지식은 갖춰져있는 상태였으며,</div> <div><br></div> <div>자바에 대한 정말 기본적인 기본 지식을 공부한 후 시간이 없었기 때문에 바로 뛰어들게 되었습니다.</div> <div><br></div> <div>일단 동영상의 과정을 그대로 따라해보고 그 후 그 소스코드를 분석하고 문법을 찾아보고 필요한 소스, 파일들을 모아서</div> <div><br></div> <div>나름대로의 해석으로 게시판을 만들어보자 라는 계획을 가지게 되었습니다.</div> <div><br></div> <div>한달이라는 시간이 주어졌으며 곧 그 한달이 끝나게 됩니다.</div> <div><br></div> <div>그렇게 매일매일 진행해가면 할수록 에러가 계속해서 발생하게 되었는데요..</div> <div><br></div> <div>몇번을 처음부터 듣고 찾아서 듣고 에러코드가 뜨면 구글링을 해보고 했지만 도저히 답이 나오지않아 혹시나하는 마음에 질문하게 되었습니다.</div> <div><br></div> <div>아무리 비교를 해봐도 다른점을 찾을수가 없습니다.</div> <div><br></div> <div>급하게 벼락치기마냥 습득해야하는 이 상황이 싫지만 저에게 찾아온 큰 기회라고 생각해 놓치고 싶지않아</div> <div><br></div> <div>시간이 갈수록 초조해지기만 합니다..</div> <div><br></div> <div>이런 기본적인 에러도 못찾는 놈이 무슨 프로그래머? 라는 의문을 가지실 수도 있을 것 같아 상황에대한 설명을 하게 되었습니다.</div> <div><br></div> <div><br></div> <div>제가 글을 쓰게 된 이유는 에러코드를 보시고 혹시나 어떤 문제가 있는지 가르침을 받을 수 있을까 해서입니다.</div> <div><br></div> <div>그리고 여기 여러 분야의 대단하신 선배님들이 많이 계실줄로 압니다.</div> <div><br></div> <div>다음 주 12일이 과제를 제출하고 소스코드를 설명하며 질문에 대답하는 심사일입니다.</div> <div><br></div> <div>제가 할 수 있는 한 최선을 다하고 싶은데 방법을 모르겠습니다.</div> <div><br></div> <div>당장에 그 날 발표에 대한 생각은 할 수가 없을만큼 초조함만 커져갑니다.</div> <div><br></div> <div>동영상에서는 로그인, 로그아웃, 회원가입, QnA게시판, 자유게시판, 사진첩등 여러가지의 게시판을 만들고있지만</div> <div><br></div> <div>그렇게 욕심부리기 보다는 게시판 하나라도 제대로 만들어 가는편이 좋을것같다는 생각으로</div> <div><br></div> <div>게시판 하나에 글 쓰기, 수정, 삭제 등 기본적인 내용을 넣어 게시판 페이지 하나라도 확실히 만들어가고 싶습니다.</div> <div><br></div> <div>얼마남지않은 기간이지만 어떤식으로 접근하고 풀어나가는 편이 좋을지 조언이 듣고싶습니다.</div> <div><br></div> <div>에러 메세지에 대한 내용을 일단 말씀드리겠습니다..</div> <div><br></div> <div><br></div> <div> <div>java.lang.NullPointerException</div> <div><span style="white-space:pre;"> </span>qna.dao.QnaDAO.qnaSelectAll(QnaDAO.java:26)</div> <div><span style="white-space:pre;"> </span>qna.action.listAction.execute(listAction.java:26)</div> <div><span style="white-space:pre;"> </span>sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</div> <div><span style="white-space:pre;"> </span>sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)</div> <div><span style="white-space:pre;"> </span>sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)</div> <div><span style="white-space:pre;"> </span>java.lang.reflect.Method.invoke(Unknown Source)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)</div> <div><span style="white-space:pre;"> </span>org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:270)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)</div> <div><span style="white-space:pre;"> </span>com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)</div> <div><span style="white-space:pre;"> </span>org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)</div> <div><span style="white-space:pre;"> </span>org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:498)</div> <div><span style="white-space:pre;"> </span>org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434)</div></div> <div><br></div> <div><br></div> <div><br></div> <div><font size="4"><b>QnaDAO 파일은..------------------------------</b></font></div> <div> <div>package qna.dao;</div> <div><br></div> <div>import java.io.IOException;</div> <div>import java.io.Reader;</div> <div>import java.sql.SQLException;</div> <div>import java.util.List;</div> <div><br></div> <div>import org.apache.ibatis.io.Resources;</div> <div><br></div> <div>import com.ibatis.sqlmap.client.SqlMapClient;</div> <div>import com.ibatis.sqlmap.client.SqlMapClientBuilder;</div> <div><br></div> <div>public class QnaDAO {</div> <div><br></div> <div><span style="white-space:pre;"> </span>private static SqlMapClient sqlMapper;</div> <div><span style="white-space:pre;"> </span>static {</div> <div><span style="white-space:pre;"> </span>try {</div> <div><span style="white-space:pre;"> </span>Reader reader = Resources.getResourceAsReader("sqlMapConfig.xml");</div> <div><span style="white-space:pre;"> </span>sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);</div> <div><span style="white-space:pre;"> </span>} catch (IOException e) {}</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>public static List qnaSelectAll() {</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>try {</div> <div><span style="white-space:pre;"> </span>return sqlMapper.queryForList("qnaSelectAll");</div> <div><span style="white-space:pre;"> </span>} catch (SQLException e) {</div> <div><span style="white-space:pre;"> </span>System.out.println(e);</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span>return null;</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span></div> <div>}</div></div> <div><br></div> <div><br></div> <div><br></div> <div><pre><b style="font-size:large;font-family:'굴림';">listAction파일은 -----------------------------------</b></pre></div> <div> <div>package qna.action;</div> <div><br></div> <div>import java.util.ArrayList;</div> <div>import java.util.List;</div> <div><br></div> <div>import com.opensymphony.xwork2.ActionSupport;</div> <div><br></div> <div>import qna.dao.QnaDAO;</div> <div>import qna.model.qnaVo;</div> <div><br></div> <div>public class listAction extends ActionSupport {</div> <div><br></div> <div><span style="white-space:pre;"> </span>private int currentPage = 1;</div> <div><span style="white-space:pre;"> </span>private int totalCount;</div> <div><span style="white-space:pre;"> </span>private int blockCount = 10;</div> <div><span style="white-space:pre;"> </span>private int blockPage = 5;</div> <div><span style="white-space:pre;"> </span>private String pagingHtml;</div> <div><span style="white-space:pre;"> </span>private pagingAction page;</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>private List<qnaVo> list = new ArrayList<qnaVo>();</div> <div><br></div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>@Override</div> <div><span style="white-space:pre;"> </span>public String execute() throws Exception {</div> <div><br></div> <div><span style="white-space:pre;"> </span>list = QnaDAO.qnaSelectAll();</div> <div><span style="white-space:pre;"> </span>if(list == null) return SUCCESS;</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>totalCount = list.size();</div> <div><span style="white-space:pre;"> </span>page = new pagingAction(currentPage, totalCount, blockCount, blockPage);</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>pagingHtml = page.getPagingHtml().toString();</div> <div><span style="white-space:pre;"> </span>int lastCount = totalCount;</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span>if(page.getEndCount() < totalCount) {</div> <div><span style="white-space:pre;"> </span>lastCount = page.getEndCount() + 1;</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span>list = list.subList(page.getStartCount(), lastCount);</div> <div><span style="white-space:pre;"> </span>return SUCCESS;</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>public int getCurrentPage() {</div> <div><span style="white-space:pre;"> </span>return currentPage;</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>public void setCurrentPage(int currentPage) {</div> <div><span style="white-space:pre;"> </span>this.currentPage = currentPage;</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>public int getTotalCount() {</div> <div><span style="white-space:pre;"> </span>return totalCount;</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>public void setTotalCount(int totalCount) {</div> <div><span style="white-space:pre;"> </span>this.totalCount = totalCount;</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>public int getBlockCount() {</div> <div><span style="white-space:pre;"> </span>return blockCount;</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>public void setBlockCount(int blockCount) {</div> <div><span style="white-space:pre;"> </span>this.blockCount = blockCount;</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>public int getBlockPage() {</div> <div><span style="white-space:pre;"> </span>return blockPage;</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>public void setBlockPage(int blockPage) {</div> <div><span style="white-space:pre;"> </span>this.blockPage = blockPage;</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>public String getPagingHtml() {</div> <div><span style="white-space:pre;"> </span>return pagingHtml;</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>public void setPagingHtml(String pagingHtml) {</div> <div><span style="white-space:pre;"> </span>this.pagingHtml = pagingHtml;</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>public pagingAction getPage() {</div> <div><span style="white-space:pre;"> </span>return page;</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>public void setPage(pagingAction page) {</div> <div><span style="white-space:pre;"> </span>this.page = page;</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>public List<qnaVo> getList() {</div> <div><span style="white-space:pre;"> </span>return list;</div> <div><span style="white-space:pre;"> </span>}</div> <div><br></div> <div><span style="white-space:pre;"> </span>public void setList(List<qnaVo> list) {</div> <div><span style="white-space:pre;"> </span>this.list = list;</div> <div><span style="white-space:pre;"> </span>}</div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span></div> <div>}</div></div> <div><font size="4"><b>그리고 qnaSelectAll을 받아오는 QnA.xml파일은-----------------------------------</b></font></div> <div><br></div> <div> <div><?xml version="1.0" encoding="UTF-8"?></div> <div><!DOCTYPE sqlMap</div> <div>PUBLIC "-//ibatis.org//DTD SQL Map 2.0//EN"</div> <div>"<a target="_blank" href="http://ibatis.apache.org/dtd/sql-map-2.dtd" target="_blank">http://ibatis.apache.org/dtd/sql-map-2.dtd</a>"></div> <div><br></div> <div><sqlMap namespace = "QnA"></div> <div><br></div> <div><span style="white-space:pre;"> </span><typeAlias alias = "QnA" type = "qna.model.qnaVo"/></div> <div><span style="white-space:pre;"> </span><typeAlias alias = "Com" type = "qna.model.comVo"/></div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span><resultMap class = "QnA" id = "QnaList"></div> <div><span style="white-space:pre;"> </span><result property = "qnaNo" column = "qna_no"/></div> <div><span style="white-space:pre;"> </span><result property = "qnaSubject" column = "qna_subject"/></div> <div><span style="white-space:pre;"> </span><result property = "id" column = "id"/></div> <div><span style="white-space:pre;"> </span><result property = "name" column = "name"/></div> <div><span style="white-space:pre;"> </span><result property = "password" column = "password"/></div> <div><span style="white-space:pre;"> </span><result property = "qnaContent" column = "qna_content"/></div> <div><span style="white-space:pre;"> </span><result property = "qnaFileNm" column = "qna_file_nm"/></div> <div><span style="white-space:pre;"> </span><result property = "qnaOrgFile" column = "qna_org_file"/></div> <div><span style="white-space:pre;"> </span><result property = "qnaReadhit" column = "qna_readhit"/></div> <div><span style="white-space:pre;"> </span><result property = "qnaRegdate" column = "qna_regdate"/></div> <div><span style="white-space:pre;"> </span></resultMap></div> <div><br></div> <div><span style="white-space:pre;"> </span><resultMap class = "Com" id = "ComList"></div> <div><span style="white-space:pre;"> </span><result property = "comNo" column = "com_no"/></div> <div><span style="white-space:pre;"> </span><result property = "boardNm" column = "board_nm"/></div> <div><span style="white-space:pre;"> </span><result property = "boardNo" column = "board_no"/></div> <div><span style="white-space:pre;"> </span><result property = "id" column = "id"/></div> <div><span style="white-space:pre;"> </span><result property = "name" column = "name"/></div> <div><span style="white-space:pre;"> </span><result property = "comContents" column = "com_contents"/></div> <div><span style="white-space:pre;"> </span><result property = "comDate" column = "com_date"/></div> <div><span style="white-space:pre;"> </span></resultMap></div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span><sql id = "qna_select_all"></div> <div><span style="white-space:pre;"> </span>select</div> <div><span style="white-space:pre;"> </span>qna_no,</div> <div><span style="white-space:pre;"> </span>qna_subject,</div> <div><span style="white-space:pre;"> </span>id,</div> <div><span style="white-space:pre;"> </span>(select name form user where id = QnA.id) as name,</div> <div><span style="white-space:pre;"> </span>password,</div> <div><span style="white-space:pre;"> </span>qna_content,</div> <div><span style="white-space:pre;"> </span>qna_file_nm,</div> <div><span style="white-space:pre;"> </span>qna_org_file,</div> <div><span style="white-space:pre;"> </span>qna_readhit,</div> <div><span style="white-space:pre;"> </span>DATE_FORMAT(qna_regdate, '%y-%m-%d') as qna_regdate</div> <div><span style="white-space:pre;"> </span>from qna</div> <div><span style="white-space:pre;"> </span></sql></div> <div><span style="white-space:pre;"> </span></div> <div><span style="white-space:pre;"> </span><sql id = "qna-where-no"></div> <div><span style="white-space:pre;"> </span>where qna_no = #qnaNo#</div> <div><span style="white-space:pre;"> </span></sql></div> <div><br></div> <div><span style="white-space:pre;"> </span><select id = "qnaSelectAll"<span style="white-space:pre;"> </span>resultMap = "QnaList"></div> <div><span style="white-space:pre;"> </span><include refid = "qna_select_all"/></div> <div><span style="white-space:pre;"> </span>order by qna_no desc</div> <div><span style="white-space:pre;"> </span></select></div> <div><br></div> <div></sqlMap></div></div> <div><br></div> <div>와 같습니다.</div> <div><br></div> <div>QnA게시판의 파일을 직접 열면 에러가 발생하지 않습니다.</div> <div><br></div> <div>그래서 게시판의 내용을 불러와서 읽고 연결하는 부분에 문제가 발생하지 않았을까 하는 추측이 전부입니다.</div> <div><br></div> <div>답변 기다리면서 다시 소스코드를 살펴보고 있겠습니다.</div> <div><br></div> <div>잘 부탁드립니다...</div> <div><br></div></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.