본문 바로가기

2023.11.21-2024.05.31

20240305 스프링(관리자 페이지-상세보기 창으로 열기)

관리자 페이지 상세보기 누르면 새로운 창으로 열기

 

 

a 링크 추가해서 target  넣기

: <a> 태그의 target 속성은 링크된 문서를 클릭했을 때 문서가 열릴 위치를 명시합니다.

 

 

문법

:<a target="_blank|_self|_parent|_top|프레임 이름">

 

속성값

속성값 설명
_blank 링크된 문서를 새로운 윈도우나 탭(tab)에서 오픈함.
_self 링크된 문서를 링크가 위치한 현재 프레임에서 오픈함.
기본값으로 생략 가능.
_parent 링크된 문서를 현재 프레임의 부모 프레임에서 오픈함.
_top 링크된 문서를 현재 윈도우 전체에서 오픈함.
프레임 이름 링크된 문서를 명시된 프레임에서 오픈함.

 

 

admin>board.jsp

<td class="col-4">
<a href="./detail?no=${row.board_no}" target="_blank">${row.board_title}</a></td>

 

 

 

 

 

 

 

 detail.jsp

>관리자 상세페이지

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>관리자 상세보기</title>
</head>
<body>
	${detail.board_no }<br>
	${detail.board_title }<br>
	${detail.board_content }<br>
	${detail.board_date }<br>
	${detail.board_ip }<br>
	${detail.mname }<br>
	${detail.mid }<br>
</body>
</html>

 

 

 

 

AdminController > detail  추가

//	20240305 psd
	@GetMapping("/detail")
	public String detail() {
		return "admin/detail";
	}

 

 

 

 

detail> 파라미터 추가

//	20240305 psd
	@GetMapping("/detail")
	public String detail(@RequestParam("no") String no, Model model) {
		//데이터 베이스에서 받아오세요.
		BoardDTO detail = adminService.detail(no);
		//모델에 붙여주세요.
		model.addAttribute("detail", detail);
		return "admin/detail";
	}

 

 

 

 

서비스, dao, 매퍼 만들기

AdminServiceImpl> detail

	@Override
	public BoardDTO detail(int no) {
			return adminDAO.detail(no);
	}

 

 

 

 

AdminService > detail

	BoardDTO detail(int no);

 

 

 

 

AdminDAO > detail

	public BoardDTO detail(int no) {
		return sqlSession.selectOne("admin.detail",no);
	}

 

 

 

 

admin-mapper > detail

 <select id="detail" parameterType="Integer" resultType="BoardDTO">
      SELECT board_no, board_title, board_content, mname, mid,
      board_date, board_del, board_ip FROM board b JOIN member m ON b.mno =
      m.mno WHERE board_no=#{no} AND board_del = '1'
  </select>

 

 

 

화면에 안뜨면 이친구 문제일 수 있다.

 

 

 

 

onclick 추가 > <td class="col-4" onclick="detail(${row.board_no })">

a 링크 삭제

<td class="col-4" onclick="detail(${row.board_no })">${row.board_title }</td>

 

 

 

스크립트 detail(no) 추가

    function detail(no){
    	//et popup = window.open('주소', '타이틀', '크기 설정');
    	window.open('./detail?no='+no, '상세보기', 'width=800px, height=800px, scrollbars=yes');
    }

 

 

이렇게 뜨면 된다.