안녕하세요.
이미지 업로드 문의드립니다.
이미지 업로드시 업로드 경로를 static으로 선언 한 후 컨트롤러 상세 페이지에서 이미지가 보여 질 부분에
업로드 Path + DB에 있는 경로를 불러와서 화면에 보여지도록 하였습니다.
문제는 화면 상세 페이지 에서 아래와 같은 오류가 난다는 겁니다.
-----------------아래-----------------
Property 'filename' not found on type java.lang.String
VO or DB 컬럼이 잘못되어 있나 싶어서 확인은 해보았으나 틀린게 없었습니다.
이게 뭐가 문제 인지 아무리 구글링 해도 답을 못찿겠네요. ㅠㅠㅠㅠ
아래는 제가 작업한 목록 입니다.
컨트롤러 부분
public static String filePath = "D:\\leo\\test\\fileupload\\";
@RequestMapping(value="/board2Read")
public String boardread(HttpServletRequest request, ModelMap modelMap) throws Exception {
String brdno = request.getParameter("brdno");
service.updateBoard2Read(brdno); //조회수 증가
BoardVO boardInfo = service.selectBoardOne(brdno);//내용 조회
List<?> listview = service.selectBoardFileList(brdno);//첨부파일 조회
FileVO imgview = service.selectBoardImage(brdno);//이미지
List<?> replylist = service.selectBoardReplyList(brdno);//댓글조회
modelMap.addAttribute("boardInfo", boardInfo);
modelMap.addAttribute("listview", listview);
modelMap.addAttribute("imgview", filePath + imgview);
modelMap.addAttribute("replylist", replylist);
return "/board2/boardRead";
}
리스트 부분(view)
<table border="1" style="width:600px">
<caption>test</caption>
<colgroup>
<col width='15%' />
<col width='*%' />
</colgroup>
<tbody>
<tr>
<td>작성자</td>
<td><c:out value="${boardInfo.brdwriter}"/></td>
</tr>
<tr>
<td>제목</td>
<td><c:out value="${boardInfo.brdtitle}"/></td>
</tr>
<tr>
<td>내용</td>
<td><c:out value="${boardInfo.brdmemo}"/></td>
</tr>
<tr>
<td>글조회수</td>
<td><c:out value="${boardInfo.brdhit}"/></td>
</tr>
<tr>
<td>이미지</td>
<td><img src="${imgview.filename}"></td>
</tr>
<tr>
<td>첨부</td>
<td>
<c:forEach var="listview" items="${listview}" varStatus="status">
<a href="fileDownload?filename=<c:out value="${listview.filename}"/>&downname=<c:out value="${listview.realname }"/>">
<c:out value="${listview.filename}"/></a> <c:out value="${listview.size2String()}"/><br/>
</c:forEach>
</td>
</tr>
</tbody>
</table>
리스트 VO
public class FileVO {
private Integer fileno; //글번호
private String parentPK; //부모 글번호
private String filename; //파일명
private String realname; //실제파일명
private long filesize; //파일 사이즈
/**
* 파일 크키를 정형화
*/
public String size2String() {
Integer unit = 1024;
if (filesize < unit) {
return String.format("(%d B)", filesize);
}
int exp = (int) (Math.log(filesize) / Math.log(unit));
return String.format("(%.0f %s)", filesize / Math.pow(unit, exp), "KMGTPE".charAt(exp - 1));
}
public Integer getFileno() {
return fileno;
}
public void setFileno(Integer fileno) {
this.fileno = fileno;
}
public String getParentPK() {
return parentPK;
}
public void setParentPK(String parentPK) {
this.parentPK = parentPK;
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public String getRealname() {
return realname;
}
public void setRealname(String realname) {
this.realname = realname;
}
public long getFilesize() {
return filesize;
}
public void setFilesize(long filesize) {
this.filesize = filesize;
}
}
xml
<select id="selectBoardImage" resultType="gu.common.FileVO">
SELECT *
FROM TBL_BOARDFILE
WHERE BRDNO= #{brdno}
</select>
조언 좀 부탁드립니다....