로컬에서 페이지 이미지가 나오지 않고 있습니다.
- 작성자 :
- 김*주
- 작성일 :
- 2015-02-24 19:23:02
- 조회수 :
- 914
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
안녕하세요 제가 다음과 같이 페이지 이미지를 오버라이드 하고 있습니다. 클래스는 AbstractPaginationRenderer를 오버로딩한 클래스를 사용하고 있고 페이지 이벤트 처리 부분은 잘 진행되고 있습니다. 단 이미지 부분이 엑스박스로 나오고 있네요. 사용한 소스는 아래와 같으며
String nextLocation = "<c:url value='/images/ground/next.gif'/>";
nextPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" +
"<image src=\""+nextLocation +"\"border=0/>next</a> ";
위에 c:url value = ... 를 사용한 이유는 그냥 사용하였을시 정상적인 이미지도 나오지 않아서 이렇게 사용하고 있습니다.
단 테스트용으로 구동되는 서버에서는 이미지가 제대로 나오는 한편 로컬에서 돌렸을때는 이미지가 나오지 않고 있습니다. JSP에서 작업하는 이미지는 <c:url value =.../>이것을 사용하면 나오지만 현재 자바 클래스에서 작업하는 부분은 나오지 않고 있네요. 이클립스에서도 나올수 있게 하려면 어떻게 해야 하나요?
String nextLocation = "<c:url value='/images/ground/next.gif'/>";
nextPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" +
"<image src=\""+nextLocation +"\"border=0/>next</a> ";
위에 c:url value = ... 를 사용한 이유는 그냥 사용하였을시 정상적인 이미지도 나오지 않아서 이렇게 사용하고 있습니다.
단 테스트용으로 구동되는 서버에서는 이미지가 제대로 나오는 한편 로컬에서 돌렸을때는 이미지가 나오지 않고 있습니다. JSP에서 작업하는 이미지는 <c:url value =.../>이것을 사용하면 나오지만 현재 자바 클래스에서 작업하는 부분은 나오지 않고 있네요. 이클립스에서도 나올수 있게 하려면 어떻게 해야 하나요?
A
안녕하세요. 김봉주님.
AbstractPaginationRenderer를 상속한 class(java) 처리 상에서는 <c:url ../> taglib를 지정하셔도 처리되지 않습니다. <c:url ../>과 같은 taglib는 반드시 JSP 안에서만 처리되는 방식이기 때문입니다.
대신 servletContext를 활용하여 다음과 같이 context root를 지정하시면 되실 것 같습니다.
eg)
public class ImagePaginationRenderer extends AbstractPaginationRenderer implements ServletContextAware{
private ServletContext servletContext;
public ImagePaginationRenderer() {
}
public void initVariables(){
firstPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_prevend.gif\" alt=\"처음\" border=\"0\"/></a> ";
previousPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_prev.gif\" alt=\"이전\" border=\"0\"/></a> ";
currentPageLabel = "<strong>{0}</strong> ";
otherPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">{2}</a> ";
nextPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_next.gif\" alt=\"다음\" border=\"0\"/></a> ";
lastPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_nextend.gif\" alt=\"마지막\" border=\"0\"/></a> ";
}
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
initVariables();
}
}
그럼, 즐거운 하루되십시오.
감사합니다.
AbstractPaginationRenderer를 상속한 class(java) 처리 상에서는 <c:url ../> taglib를 지정하셔도 처리되지 않습니다. <c:url ../>과 같은 taglib는 반드시 JSP 안에서만 처리되는 방식이기 때문입니다.
대신 servletContext를 활용하여 다음과 같이 context root를 지정하시면 되실 것 같습니다.
eg)
public class ImagePaginationRenderer extends AbstractPaginationRenderer implements ServletContextAware{
private ServletContext servletContext;
public ImagePaginationRenderer() {
}
public void initVariables(){
firstPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_prevend.gif\" alt=\"처음\" border=\"0\"/></a> ";
previousPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_prev.gif\" alt=\"이전\" border=\"0\"/></a> ";
currentPageLabel = "<strong>{0}</strong> ";
otherPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">{2}</a> ";
nextPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_next.gif\" alt=\"다음\" border=\"0\"/></a> ";
lastPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_nextend.gif\" alt=\"마지막\" border=\"0\"/></a> ";
}
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
initVariables();
}
}
그럼, 즐거운 하루되십시오.
감사합니다.