<VIEW>
-jsp를 사용하였습니다
noticeList.jsp
- 공지사항 목록 화면을 구현하였습니다.
- header와 footer는 부트스닙에서 제공한 템플릿을 이용하였습니다.
<%--
/**
* @Class Name : notice.jsp
* @Description : 공지사항 리스트 화면
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2019.08.06 시은지 최초 생성
*
* author 실행환경 개발팀
* since 2019.08.06
*
* Copyright (C) 2009 by KandJang All right reserved.
*/
--%>
<%@page import="cmn.StringUtil"%>
<%@page import="notice1.NoticeVO"%>
<%@page import="cmn.SearchVO"%>
<%@page import="java.util.List"%>
<%@page import="org.apache.log4j.Logger"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!doctype html>
<html>
<head>
<title>쌍용부띠끄펜션</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<style type="text/css">
.form-group{
padding-top:20px;
margin-left:1010px;
}
</style>
<% Logger LOG = Logger.getLogger(this.getClass());
//화면 목록읽기
List<NoticeVO> list= (List<NoticeVO>)request.getAttribute("list");
//param 선언
String pageNum = "1";
String searchDiv = "";
String searchWord = "";
String pageSize = "10";
//paging
int maxNum=0; //총 글수
int currPageNo =1; //현재 페이지
int rowPerPage =10; //row cnt
int bottomCount =10;//bottom cnt
String url = "/ORAI/villa/notice.do";
String scriptName = "doSearchPage"; //아까 만든 자바스크립트 이름
SearchVO paramVO = (SearchVO) request.getAttribute("paramVO");
if(null !=paramVO){
pageNum = paramVO.getNum()+""; //string으로 변환한 것
searchDiv = paramVO.getSearchDiv();
searchWord = paramVO.getSearchWord();
pageSize = paramVO.getPageSize()+""; //string으로 변환한 것
LOG.debug("=======================");
LOG.debug("paramVO"+paramVO);
LOG.debug("=======================");
rowPerPage = Integer.parseInt(pageSize);
currPageNo = Integer.parseInt(pageNum);
maxNum = (Integer)request.getAttribute("totalCnt");
}
%>
<link rel="shortcut icon" href="/ORAI/image/favicon (1).ico" >
<link href="https://fonts.googleapis.com/css?family=Mukta+Mahee:200,300,400|Playfair+Display:400,700" rel="stylesheet">
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/animate.css">
<link rel="stylesheet" href="css/owl.carousel.min.css">
<link rel="stylesheet" href="css/aos.css">
<link rel="stylesheet" href="fonts/ionicons/css/ionicons.min.css">
<link rel="stylesheet" href="fonts/fontawesome/css/font-awesome.min.css">
<!-- Theme Style -->
<link rel="stylesheet" href="css/style.css">
<!-- floating btn css -->
<style type="text/css">
body{
font-family: 'Roboto';
text-align: center;
background: #f1f1f1;
}
h3{
color: #555;
}
#presentation{
width: 480px;
height: 120px;
padding: 20px;
margin: auto;
background: #FFF;
margin-top: 10px;
box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
transition: all 0.3s;
border-radius: 3px;
}
#presentation:hover{
box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
transition: all 0.3s;
transform: translateZ(10px);
}
#floating-button{
width: 55px;
height: 55px;
border-radius: 50%;
background: #db4437;
position: fixed;
bottom: 30px;
right: 30px;
cursor: pointer;
box-shadow: 0px 2px 5px #666;
}
.plus{
color: white;
position: absolute;
top: 0;
display: block;
bottom: 0;
left: 0;
right: 0;
text-align: center;
padding: 0;
margin: 0;
line-height: 55px;
font-size: 38px;
font-family: 'Roboto';
font-weight: 300;
animation: plus-out 0.3s;
transition: all 0.3s;
}
#container-floating{
position: fixed;
width: 70px;
height: 70px;
bottom: 30px;
right: 30px;
z-index: 50px;
}
#container-floating:hover{
height: 400px;
width: 90px;
padding: 30px;
}
#container-floating:hover .plus{
animation: plus-in 0.15s linear;
animation-fill-mode: forwards;
}
.edit{
position: absolute;
top: 0;
display: block;
bottom: 0;
left: 0;
display: block;
right: 0;
padding: 0;
opacity: 0;
margin: auto;
line-height: 65px;
transform: rotateZ(-70deg);
transition: all 0.3s;
animation: edit-out 0.3s;
}
#container-floating:hover .edit{
animation: edit-in 0.2s;
animation-delay: 0.1s;
animation-fill-mode: forwards;
}
@keyframes edit-in{
from {opacity: 0; transform: rotateZ(-70deg);}
to {opacity: 1; transform: rotateZ(0deg);}
}
@keyframes edit-out{
from {opacity: 1; transform: rotateZ(0deg);}
to {opacity: 0; transform: rotateZ(-70deg);}
}
@keyframes plus-in{
from {opacity: 1; transform: rotateZ(0deg);}
to {opacity: 0; transform: rotateZ(180deg);}
}
@keyframes plus-out{
from {opacity: 0; transform: rotateZ(180deg);}
to {opacity: 1; transform: rotateZ(0deg);}
}
.nds{
width: 40px;
height: 40px;
border-radius: 50%;
position: fixed;
z-index: 300;
transform: scale(0);
cursor: pointer;
}
.nd1{
background: #d3a411;
right: 40px;
bottom: 120px;
animation-delay: 0.2s;
animation: bounce-out-nds 0.3s linear;
animation-fill-mode: forwards;
}
.nd3{
background: #3c80f6;
right: 40px;
bottom: 180px;
animation-delay: 0.15s;
animation: bounce-out-nds 0.15s linear;
animation-fill-mode: forwards;
}
.nd4{
background: #ba68c8;
right: 40px;
bottom: 240px;
animation-delay: 0.1s;
animation: bounce-out-nds 0.1s linear;
animation-fill-mode: forwards;
}
.nd5{
background-color:white;
background-image: url('/ORAI/villa/img/logout.png');
background-size: 100%;
right: 40px;
bottom: 300px;
animation-delay: 0.08s;
animation: bounce-out-nds 0.1s linear;
animation-fill-mode: forwards;
}
@keyframes bounce-nds{
from {opacity: 0;}
to {opacity: 1; transform: scale(1);}
}
@keyframes bounce-out-nds{
from {opacity: 1; transform: scale(1);}
to {opacity: 0; transform: scale(0);}
}
#container-floating:hover .nds{
animation: bounce-nds 0.1s linear;
animation-fill-mode: forwards;
}
#container-floating:hover .nd3{
animation-delay: 0.08s;
}
#container-floating:hover .nd4{
animation-delay: 0.15s;
}
#container-floating:hover .nd5{
animation-delay: 0.2s;
}
.letter{
font-size: 23px;
font-family: 'Roboto';
color: white;
position: absolute;
left: 0;
right: 0;
margin: 0;
top: 0;
bottom: 0;
text-align: center;
line-height: 40px;
}
.reminder{
position: absolute;
left: 0;
right: 0;
margin: auto;
top: 0;
bottom: 0;
line-height: 40px;
}
.profile{
border-radius: 50%;
width: 40px;
position: absolute;
top: 0;
bottom: 0;
margin: auto;
right: 20px;
}
</style>
<!-- //floating btn css -->
</head>
<body>
<header class="site-header">
<div class="container-fluid">
<div class="row">
<div class="col-4 site-logo" data-aos="fade"><a href="/ORAI/villa/index.jsp"><em>PENSION SSANGYOUNG</em></a></div>
<div class="col-8">
<div class="site-menu-toggle js-site-menu-toggle" data-aos="fade">
<span></span>
<span></span>
<span></span>
</div>
<!-- END menu-toggle -->
<div class="site-navbar js-site-navbar">
<nav role="navigation">
<div class="container">
<div class="row full-height align-items-center">
<div class="col-md-6">
<ul class="list-unstyled menu">
<li><a id="location" href="/ORAI/villa/Location.jsp">LOCATION</a></li>
<li><a id="sight" href="/ORAI/villa/sightsctrl.do">SIGHT</a></li>
<li><a id="reservation" href="/ORAI/villa/Reservation.jsp">RESERVATION</a></li>
<li><a id="checkreservation" href="/ORAI/villa/ORAI/userRe.jsp">CHECK RESERVATION</a></li>
<li><a id="adreservation" style="display:none;" href="/ORAI/villa/checkres.jsp">RESERVATION</a></li>
<li class="active"><a href="/ORAI/villa/notice.do?work_div=do_retrieve">NOTICE</a></li>
<li><a href="/ORAI/villa/review.do?work_div=do_retrieve">REVIEW</a></li>
</ul>
</div>
<div class="col-md-6 extra-info">
<div class="row">
<div class="col-md-6 mb-5">
<h3>Contact Info</h3>
<p> 강원도 속초시 대포동 543 </p>
<p>ssangyounginfo@.naver.com</p>
<p>010-4275-2036</p>
</div>
<div class="col-md-6 mb-5">
<h3>Account</h3>
<p>KEB하나 497-810008-08205</p>
<p>(예금주: 박지윤)</p>
</div>
</div>
</div>
</div>
</div>
</nav>
</div>
</div>
</div>
</div>
</header>
<!-- END head -->
<section class="site-hero overlay page-inside" style="background-image: url(img/hero_2.jpg)">
<div class="container">
<div class="row site-hero-inner justify-content-center align-items-center">
<div class="col-md-10 text-center">
<h1 class="heading" data-aos="fade-up"> Notice </h1>
<p class="sub-heading mb-5" data-aos="fade-up" data-aos-delay="100">공지사항</p>
</div>
</div>
<!-- <a href="#" class="scroll-down">Scroll Down</a> -->
</div>
</section>
<!-- END section -->
<div style="padding-top:25px; padding-right:0px; padding-left:900px">
<input type="button" class="btn btn-primary btn-sm " style="display:none;" value="글쓰기" name="writebtn" id="writebtn" onclick="javascript:do_write_move();"/>
</div>
<!-- code start -->
<div class="container" >
<!-- 검색영역 -->
<div class="table-responsive" style="padding-top:20px; padding-right:30px; padding-left:30px">
<table id="listTable" class="table table-striped table-bordered table-hover" >
<thead class="bg_primary">
<tr>
<th class="text-center">NO</th>
<th class="text-center">제목</th>
<th class="text-center" >작성자</th>
<th class="text-center">작성일</th>
<th class="text-center">조회수</th>
<th class="text-center" style="display:none;">SEQ</th>
</tr>
</thead>
<tbody>
<%
if(null !=list && list.size()>0){
for(NoticeVO vo:list){
%>
<tr>
<td><%=vo.getNum() %> </td>
<td ><%=vo.getTitle() %></td>
<td><%=vo.getReg_id()%></td>
<td><%=vo.getReg_dt()%></td>
<td><%=vo.getRead_cnt()%></td>
<td style="display:none;"><%=vo.getSeq()%></td>
</tr>
<%
}//-for
}else{ %>
<tr>
<td colspan="99">No data found</td>
</tr>
<% }//-else %>
</tbody>
</table>
</div>
<!-- data list -->
<!-- Floating Btn section -->
<form id="floating_action_btn" style="display:none;">
<div id="container-floating" >
<div id="logout" class="nd5 nds" data-toggle="tooltip" data-placement="left" ></div>
<div id="review_button" class="nd4 nds" data-toggle="tooltip" data-placement="left" >
<p class="letter">R</p>
</div>
<div id="adminre_button" class="nd3 nds" data-toggle="tooltip" data-placement="left" ><img class="reminder" src="//ssl.gstatic.com/bt/C3341AA7A1A076756462EE2E5CD71C11/1x/ic_reminders_speeddial_white_24dp.png" /></div>
<div id="messenger_button" class="nd1 nds" data-toggle="tooltip" data-placement="left" ><img class="reminder">
<input type="hidden" id="messengerWho" value="<c:if test='${!empty Admin}' var='a' ><c:out value='${a }'/></c:if>" />
<p class="letter">M</p>
</div>
<div id="floating-button" data-toggle="tooltip" data-placement="left" data-original-title="Create" >
<p class="plus">+</p>
<img class="edit" src="https://ssl.gstatic.com/bt/C3341AA7A1A076756462EE2E5CD71C11/1x/bt_compose2_1x.png">
</div>
</div>
</form>
<!-- END Floating Btn section -->
<!--버튼 -->
</div>
<div class="row" >
<div class="col-sm-5 col-sm-push-7" >
<form name="searchForm" action="/ORAI/villa/notice.do" method="post" class="form-inline">
<input type="hidden" name="work_div" />
<input type="hidden" name="page_num" />
<div class="form-group" >
<select style="font-size:15px; height:40px;" name="search_div" id="search_div" class="form-control input-sm" >
<option value="">전체</option>
<option value="10" <%if(searchDiv.equals("10"))out.print("selected"); %>>제목</option>
<option value="20" <%if(searchDiv.equals("20"))out.print("selected"); %>>작성자</option>
</select>
<input style="margin-left: 5px; font-size:15px; height:40px;" class="form-control input-sm" type="text" name="search_word" id="search_word" value="<%=searchWord %>"/>
<select name="page_size" id="page_size" class="form-control input-sm" style="font-size:15px; height:40px; margin-left:5px; margin-right: 5px;">
<option value="">전체</option>
<option value="10" <%if(pageSize.equals("10"))out.print("selected='selected' "); %>>10</option>
<option value="50" <%if(pageSize.equals("50"))out.print("selected='selected' "); %>>50</option>
<option value="100" <%if(pageSize.equals("100"))out.print("selected"); %> >100</option>
</select>
<input type="button" class="btn btn-primary btn-sm" value="검색" onclick="javascript:do_retrieve();"/>
</div>
</form>
</div>
</div>
<!-- paging -->
<nav class="text-center" style="margin-left: 920px; margin-bottom: 50px;">
<ul class="pagination">
<li>
<%=StringUtil.renderPaing(maxNum, currPageNo, rowPerPage, bottomCount, url, scriptName) %>
</li>
</ul>
</nav>
<!-- //paging -->
<!-- //code end -->
<!-- footer -->
<footer class="section footer-section">
<div class="container">
<div class="row mb-4">
<div class="col-md-3 mb-5 pr-md-5 contact-info">
<p><span class="d-block">Address:</span> <span> 강원도 속초시 대포동 543</span></p>
<p><span class="d-block">Phone:</span> <span> 010-4275-2036</span></p>
<p><span class="d-block">Email:</span> <span> ssangyounginfo@.naver.com</span></p>
<p><span class="d-block">Account:</span> <span>KEB하나 497-810008-08205 <br>(예금주: 박지윤) </span></p>
</div>
</div>
<div class="row bordertop pt-5">
<p class="col-md-6 text-left"><!-- Link back to Colorlib can't be removed. Template is licensed under CC BY 3.0. -->
Copyright ©<script>document.write(new Date().getFullYear());</script> All rights reserved | This template is made with <i class="fa fa-heart-o" aria-hidden="true"></i> by <a href="https://colorlib.com" target="_blank">Colorlib</a>
<!-- Link back to Colorlib can't be removed. Template is licensed under CC BY 3.0. --></p>
</div>
</div>
</footer>
<!-- //footer -->
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/owl.carousel.min.js"></script>
<!-- <script src="js/jquery.waypoints.min.js"></script> -->
<script src="js/aos.js"></script>
<script src="js/main.js"></script>
<script>
//페이지 이동
function doSearchPage(url,page_num){
//alert(url+","+page_num);
var frm = document.searchForm;
frm.work_div.value ="do_retrieve";
frm.page_num.value = page_num;
frm.action = url;
frm.submit();
}
//새 글 작성
function do_write_move(){
//alert("do_save_move"); //연결유무 확인용
if(confirm("새글을 작성하시겠습니까")==false)return;
var frm = document.searchForm;
frm.work_div.value ='do_write_move'; //단순이동
frm.action = '/ORAI/villa/notice.do';
frm.submit(); //전송
}
//검색
function do_retrieve(){
//alert('do_retrieve');
var frm = document.searchForm
frm.work_div.value ='do_retrieve';
frm.page_num.value ='1';
frm.action = '/ORAI/villa/notice.do';
//alert('frm_work_div.value:'+frm.work_div.value);
frm.submit();
}
//로그아웃
function doLogout(){
//alert('doLOGOUT')연결확인;
if(false == confirm("로그아웃 하시겠습니까?"))return;
var frm =document.searchForm;
frm.work_div.value='do_logout';
frm.action='/ORAI/admin/admin.json';
frm.submit();
}
//FLOATING_BTN
//맨 하단 글쓰기 버튼 -> 공지사항 (연결o)
$("#floating-button").on('click',function(){
//alert('notice');
window.location.href="/ORAI/villa/notice.do?work_div=do_retrieve";
});
// 메세지 버튼 ->1:1->대화 (연결o)
$("#messenger_button").on('click',function(){
//alert('messenger');
var pX = (window.screen.width - 450)/2;
var pY = (window.screen.height - 600)/2;
var opt = "width=450, height=600, top=" + pY + ",left=" + pX +", status=0, toolbar=0, location=0, menubar=0";
var indexWindow = window.open("http://localhost:8080/ORAI/MessengerView/AuxPage.jsp", "_blank", opt);
});
// 달력 버튼 ->예약관리 (연결o)
$("#adminre_button").on('click',function(){
//alert('adminre');
window.location.href="/ORAI/villa/checkres.jsp";
});
// R버튼 ->리뷰관리 (연결o)
$("#review_button").on('click',function(){
// alert('review');
window.location.href="review.do?work_div=do_retrieve";
});
// 사진버튼->로그아웃 (연결 o)
$("#logout").on("click",function(){
//alert('logout');
doLogout();
});
//단건조회
$("#listTable>tbody").on("dblclick","tr",function(){
var cTrs = $(this);
var cTds = cTrs.children();
console.log(cTds);
var seq = cTds.eq(5).text();
console.log("seq:"+seq);
var frm = document.searchForm;
frm.work_div.value ="do_selectone";
frm.action = '/ORAI/villa/notice.do?seq='+seq;
frm.submit();
});
$(document).ready(function(){
if("${admin}"=="Admin"){
$("#writebtn").css("display", "inline ");//보이게하기
$("#adreservation").css("display", "inline ");//보이게하기
$("#floating_action_btn ").css("display", "inline ");
$("#location").hide(); //관리자일 때 메뉴 숨기기
$("#sight").hide(); //관리자일 때 메뉴 숨기기
$("#reservation").hide(); //관리자일 때 메뉴 숨기기
$("#checkreservation").hide(); //관리자일 때 메뉴 숨기기
}
});
</script>
</body>
</html>
noticePost.jsp
- 글쓰기 화면입니다.
- 관리자는 이 화면을 통해 글을 작성할 수 있고 글을 수정하고 삭제할 수 있습니다.
- 일반 방문객들은 이 화면을 통해 작성한 글의 내용을 읽을 수 있습니다.
<%--
/**
* @Class Name : notice.jsp
* @Description : 공지사항 글쓰기 및 단건조회 화면
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2019.08.06 시은지 최초 생성
*
* author 실행환경 개발팀
* since 2019.08.06
*
* Copyright (C) 2009 by KandJang All right reserved.
*/
--%>
<%@page import="admin.AdminVO"%>
<%@page import="notice1.NoticeVO"%>
<%@page import="cmn.SearchVO"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!doctype html>
<html>
<head>
<style type="text/css">
#tname{
width: 1000px;
height:40px;
}
#contents{
width: 1000px;
height:500px;
}
#disqus_thread{
width: 1025px;
margin-left: 35px;
}
</style>
<title>쌍용부띠끄펜션</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="shortcut icon" href="/ORAI/image/favicon (1).ico">
<link href="https://fonts.googleapis.com/css?family=Mukta+Mahee:200,300,400|Playfair+Display:400,700" rel="stylesheet">
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/animate.css">
<link rel="stylesheet" href="css/owl.carousel.min.css">
<link rel="stylesheet" href="css/aos.css">
<link rel="stylesheet" href="fonts/ionicons/css/ionicons.min.css">
<link rel="stylesheet" href="fonts/fontawesome/css/font-awesome.min.css">
<!-- Theme Style -->
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<header class="site-header">
<div class="container-fluid">
<div class="row">
<div class="col-4 site-logo" data-aos="fade"><a href="/ORAI/villa/index.jsp"><em>PENSION SSANGYOUNG</em></a></div>
<div class="col-8">
<div class="site-menu-toggle js-site-menu-toggle" data-aos="fade">
<span></span>
<span></span>
<span></span>
</div>
<!-- END menu-toggle -->
<div class="site-navbar js-site-navbar">
<nav role="navigation">
<div class="container">
<div class="row full-height align-items-center">
<div class="col-md-6">
<ul class="list-unstyled menu">
<li><a id="location" href="/ORAI/villa/Location.jsp">LOCATION</a></li>
<li><a id="sight" href="/ORAI/villa/sightsctrl.do">SIGHT</a></li>
<li><a id="reservation" href="/ORAI/villa/Reservation.jsp">RESERVATION</a></li>
<li><a id="checkreservation" href="/ORAI/villa/ORAI/userRe.jsp">CHECK RESERVATION</a></li>
<li><a id="adreservation" style="display:none;" href="/ORAI/villa/checkres.jsp">RESERVATION</a></li>
<li class="active"><a href="/ORAI/villa/notice.do?work_div=do_retrieve">NOTICE</a></li>
<li><a href="/ORAI/villa/review.do?work_div=do_retrieve">REVIEW</a></li>
</ul>
</div>
<div class="col-md-6 extra-info">
<div class="row">
<div class="col-md-6 mb-5">
<h3>Contact Info</h3>
<p> 강원도 속초시 대포동 543 </p>
<p>ssangyounginfo@.naver.com</p>
<p>010-4275-2036</p>
</div>
<div class="col-md-6 mb-5">
<h3>Account</h3>
<p>KEB하나 497-810008-08205</p>
<p>(예금주: 박지윤)</p>
</div>
</div>
</div>
</div>
</div>
</nav>
</div>
</div>
</div>
</div>
</header>
<!-- END head -->
<section class="site-hero overlay page-inside" style="background-image: url(img/hero_2.jpg)">
<div class="container">
<div class="row site-hero-inner justify-content-center align-items-center">
<div class="col-md-10 text-center">
<h1 class="heading" data-aos="fade-up">Notice</h1>
<p class="sub-heading mb-5" data-aos="fade-up" data-aos-delay="100">공지사항</p>
</div>
</div>
<!-- <a href="#" class="scroll-down">Scroll Down</a> -->
</div>
</section>
<!-- END section -->
<!-- my code -->
<div class="container">
<div style="padding-top:30px; padding-right:0px; padding-left:930px;">
<input type="button" class="btn btn-primary btn-sm " id="backbtn1" value="게시판" />
</div>
<!-- 글쓰기 form -->
<div class="table-responsive" style="padding-top:20px; padding-right:1300px; padding-left:30px">
<div class="row">
<div class="col-sm-5 col-sm-push-7">
<form name="frmMng" id="frmMng" method="post" action="/ORAI/NoticeView/notice.do" class="form-inline">
<input type="hidden" name="work_div" id="work_div"/>
<input type="hidden" name="seq" id= "seq" value="${vo.seq}"/>
<table class="table table-striped table-bordered table-hover" >
<tbody>
<tr>
<td><input type="hidden" name="seq" id="seq" value="${vo.getSeq()}" ></td>
</tr>
<tr>
<td><input readonly="readonly" type="text" name="tname" id="tname" value="${vo.getTitle()}" placeholder="글 제목" name="bbsTitle" maxlength="50"/></td>
</tr>
<tr>
<td><textarea readonly="readonly" id="contents" name="contents" placeholder="글 내용" name="bbsContent" maxlength="2048" >${vo.getContents()}</textarea></td>
</tr>
</tbody>
</table>
</form>
</div>
</div>
</div>
<div class="container" >
<div class="row" >
<div style=" padding-top:30px; padding-left: 765px;" >
<input type="button" class="btn btn-primary btn-sm " id="savebtn" style="display:none;" value="등록" />
<input type="button" class="btn btn-primary btn-sm " id="reset_btn" style="display:none;" value="초기화" />
<input type="button" class="btn btn-primary btn-sm " id="cancelbtn" style="display:none;" value="취소" />
</div>
</div>
</div>
<div class="container2" >
<div class="row" >
<div style="padding-left:880px; margin-bottom: 50px; ">
<input type="button" class="btn btn-primary btn-sm " id="update_btn" style="display:none;" value="수정" />
<input type="button" class="btn btn-primary btn-sm " id="del_btn" style="display:none;" value="삭제" />
</div>
</div>
</div>
<!-- 덧글 기능 -->
<div id="disqus_thread"></div>
<script>
/**
* RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
* LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/
/*
var disqus_config = function () {
this.page.url = PAGE_URL; // Replace PAGE_URL with your page's canonical URL variable
this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
};
*/
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = 'https://http-localhost-8080-orai-villa-review-do.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</div>
<!--// my code -->
<!-- footer -->
<footer class="section footer-section">
<div class="container">
<div class="row mb-4">
<div class="col-md-3 mb-5 pr-md-5 contact-info">
<p><span class="d-block">Address:</span> <span> 강원도 속초시 대포동 543</span></p>
<p><span class="d-block">Phone:</span> <span> 010-4275-2036</span></p>
<p><span class="d-block">Email:</span> <span> ssangyounginfo@.naver.com</span></p>
<p><span class="d-block">Account:</span> <span>KEB하나 497-810008-08205 <br>(예금주: 박지윤) </span></p>
</div>
</div>
<div class="row bordertop pt-5">
<p class="col-md-6 text-left"><!-- Link back to Colorlib can't be removed. Template is licensed under CC BY 3.0. -->
Copyright ©<script>document.write(new Date().getFullYear());</script> All rights reserved | This template is made with <i class="fa fa-heart-o" aria-hidden="true"></i> by <a href="https://colorlib.com" target="_blank">Colorlib</a>
<!-- Link back to Colorlib can't be removed. Template is licensed under CC BY 3.0. --></p>
</div>
</div>
</footer>
<!-- //footer -->
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/owl.carousel.min.js"></script>
<!-- <script src="js/jquery.waypoints.min.js"></script> -->
<script src="js/aos.js"></script>
<script src="js/main.js"></script>
<script>
function doDel(){
if(false ==confirm('삭제하시겠습니까?'))return;
var frm = document.frmMng;
frm.work_div.value = "do_delete";
frm.action ="/ORAI/villa/notice.do";
frm.submit();
}
//등록
$("#savebtn").on('click',function(){
//alert('writebtn');
var title= $("#tname").val();
if(null == title ||title.trim().length ==0){
$("#tname").focus();
alert('제목을 입력하세요');
return;
}
//"work_div":"do_insert",
$("#work_div").val("do_insert"); //"do_insert" 세팅
var param = $("#frmMng").serialize(); //값을 가져오는 것
//alert(param);
if(false==confirm('글을 등록하시겠습니까?')) return;
//ajax
$.ajax({
type:"POST",
url:"/ORAI/villa/notice.do",
dataType:"html",
data: param,
success: function(data){
var jData = JSON.parse(data);
if(null != jData && jData.msgId=="1"){
alert(jData.msgContents);
window.location.href="/ORAI/villa/notice.do?work_div=do_retrieve";
}else{
alert(jData.msgId+"|"+jData.msgContents);
}
},
complete:function(data){
},
error:function(xhr,status,error){
alert("error:"+error);
}
});
//--ajax
});
//취소
$("#cancelbtn").on('click',function(){
if(false ==confirm('게시글 작성을 취소하시겠습니까?'))return;
window.location.href="/ORAI/villa/notice.do?work_div=do_retrieve";
});
//뒤로가기
$("#backbtn1").on('click',function(){
window.location.href="/ORAI/villa/notice.do?work_div=do_retrieve";
});
//삭제
$("#del_btn").on('click',function(){
//console.log('del_btn');
//console.log($("#seq").val());
//validation
var title= $("#tname").val();
if(null ==title ||title.trim().length ==0){
$("#tname").focus();
alert('제목을 입력하세요');
return;
}
if(false ==confirm('삭제하시겠습니까'))return;
//ajax
$.ajax({
type:"POST",
url: "/ORAI/villa/notice.do",
dataType:"html",
data:{
"work_div":"do_delete",
"seq":$("#seq").val()
},
success:function(data){
var jData =JSON.parse(data);
console.log(jData.msgId+"|"+jData.msgContents);
if(null != jData && jData.msgId =="1"){
alert(jData.msgContents);
window.location.href="/ORAI/villa/notice.do?work_div=do_retrieve";
}else{
alert(jData.msgId+"|"+jData.msgContents);
}
//alert("success:"+data);
},complete:function(data){
},error: function(xhr,status,error){
alert("error:"+error);
}
});
//--ajax
});
//수정
$("#update_btn").on('click',function(){
//validation
var title= $("#tname").val();
if(null ==title ||title.trim().length ==0){
$("#tname").focus();
alert('제목을 입력하세요');
return;
}
//"work_div":"do_update",
$("#work_div").val("do_update"); //"do_update" 세팅
var param = $("#frmMng").serialize(); //값을 가져오는 것
//alert(param);
if(false==confirm('게시글을 수정하시겠습니까?')) return;
//ajax
$.ajax({
type:"POST",
url:"/ORAI/villa/notice.do",
dataType:"html",
data: param,
success: function(data){
var jData = JSON.parse(data);
if(null != jData && jData.msgId=="1"){
alert(jData.msgContents);
window.location.href="/ORAI/villa/notice.do?work_div=do_retrieve";
}else{
alert(jData.msgId+"|"+jData.msgContents);
}
},
complete:function(data){
},
error:function(xhr,status,error){
alert("error:"+error);
}
});
//--ajax
});
//초기화
$("#reset_btn").on('click',function(){
//채워져있는 것 비우기
$("#tname").val("");
$("#contents").val("");
});
$(document).ready(function(){
console.log('mode:'+'${mode}');
if("${admin}"=="Admin"){
$("#location").hide(); //관리자일 때 메뉴 숨기기
$("#sight").hide(); //관리자일 때 메뉴 숨기기
$("#reservation").hide(); //관리자일 때 메뉴 숨기기
$("#checkreservation").hide(); //관리자일 때 메뉴 숨기기
$("#tname").attr("readonly",false);
$("#contents").attr("readonly",false);
if(null!='${mode}' && 'insert'=='${mode}'){
console.log('2 mode:'+'${mode}');
$("#savebtn").css("display", "inline ");//보이게하기
$("#reset_btn").css("display", "inline");//보이게하기
$("#cancelbtn").css("display", "inline ");//보이게하기
$("#adreservation").css("display", "inline ");//보이게하기
$("#disqus_thread").hide();
}
else if(null!='${mode}' && 'udlate'=='${mode}'){
console.log('2 mode:'+'${mode}');
$("#update_btn").css("display", "inline");//보이게하기 m
$("#del_btn").css("display", "inline");//보이게하기
$("#adreservation").css("display", "inline ");//보이게하기
}
}
});
</script>
</body>
</html>
반응형
'teamPJ' 카테고리의 다른 글
게시판 만들기 - 관리자용 (0) | 2019.08.14 |
---|---|
펜션 홈페이지 만들기 - 테이블 구조 (0) | 2019.08.14 |