공지사항 게시판 ver.2

2025. 2. 5. 18:13·Web

https://9na0.tistory.com/39

 

응용문제 - html + jsp

상품검색html검색어 : jsp 아이디 찾기이름과 이메일을 받아 둘다 맞을경우 아이디를 출력html 이름 : 이메일 : jsp 공지사항 게시판공지사항을 등록하는 프로세서를 제작합니다.기존에 공지사항 데

9na0.tistory.com

응용문제 - html + jsp 의 공지사항 게시판 ver.2

 

html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>공지사항 등록</title>
</head>
<body>
<form id="frm" method="POST" action="./noticewriteok.jsp">
제목 : <input type="text" name="title"><br>
글쓴이 : <input type="text" name="writer"><br>	<!-- value="admin readonly -->
내용 : <textarea cols="100" rows="10" name="contents"></textarea><br>
첨부파일 : <input type="file" name="mfile"><br>
<input type = "button" value="공지사항 등록" onclick="cont_post()">
</form>

<script> 
	function cont_post() {
		if (frm.title.value == "") {
			alert("제목을 입력해주세요.");
			frm.title.focus();
		} else if (frm.writer.value == "") {
			alert("글쓴이를 입력해주세요.");
			frm.writer.focus();
		} else if (frm.writer.value != "admin") {
			alert("잘못된 글쓴이입니다.");
			frm.writer.focus();
		} else if (frm.contents.value == "") {
			alert("내용을 입력해주세요.");
			frm.contents.focus();
		} else {
			frm.submit();
		}
	}
</script>

</body>
</html>

jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
   <%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.Arrays"%>
<%@page import="java.util.Date"%>
<%
request.setCharacterEncoding("utf-8");	//넘어오는 한글 깨짐 방지 
String notice[][] = { { "신한카드 설연휴 서비스 점검안내", "admin", "설연휴 3일간 신한카드 시스템 점검안내", "2025-01-20" },
		{ "신규 가입자 쿠폰 지급 연장안내", "admin", "10%신규 쿠폰 기간을 연장하게 되었습니다.", "2025-01-17" },
		{ "설 연휴기간 배송지연 안내", "admin", "설연휴 기간 월요일까지만 배송을 하게 됩니다.", "2025-01-14" } };
ArrayList<ArrayList<String>> alldata = new ArrayList<>();
ArrayList<String> al = null;

//foreach로 1차 원시배열을 구분하여 클래스배열로 전달 
for(String[] arr : notice){
	al = new ArrayList<>(Arrays.asList(arr));	//원시 배열을 1차배열로 이관 
	alldata.add(al);	
}

Date date = new Date();
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
String today = sf.format(date);

//Front에서 데이터를 이관 받는 코드(name값 받기)
//request : Front에서 무조건 데이터를 이관받는 클래스 
//jsp 파일로 직접 실행할 경우 null값이 들어가있어서 오류남 -> try~catch 사용
String subject = request.getParameter("title").intern();
String writer = request.getParameter("writer").intern();
String texts = request.getParameter("contents").intern();

//예외처리를 사용한 이유는 Front-end에서 값이 전송이 안되었을 경우 조건문에서 error
try {
	if (!subject.equals("") && !writer.equals("") && !texts.equals("")) {
		al = new ArrayList<>();	//1차 배열을 생성하여 사용자가 입력한 값을 추가 
		al.add(subject);
		al.add(writer);
		al.add(texts);
		al.add(today);
		alldata.add(0, al);	//2차 배열에 등록을 함 단, 배열 기준 맨 앞에 데이터가 저장되도록 함 
	}
} catch (Exception e) {
}
%>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>공지사항 리스트</title>
</head>
<body>
<!-- 
 <table border="1" cellspacing="0" cellpadding="0">
 <thead>
 <th>제목</th> <th>작성자</th> <th>내용</th> <th>작성일</th>
 </thead>
  -->
  <p>전체 등록된 게시물 : <%=alldata.size() %> 개</p>
  <table border="1" cellspacing="0" cellpadding="0">
 <thead>
  <th width="50">번호</th>
  <th width="500">제목</th> 
  <th width="100">글쓴이</th> 
  <th width="150">등록일</th>
 </thead>
 
 <%
 int w = 0;
 while(w<alldata.size()){
 %>
  <tbody>
  <tr height="30">
  <td align="center"><%=alldata.size()-w%></td>
  <td><%=alldata.get(w).get(0)%></td>
  <td align="center"><%=alldata.get(w).get(1)%></td>
  <td align="center"><%=alldata.get(w).get(3)%></td>
  </tr>
  <%
  w++;
 }
  %> 
  </tbody>

    </table>
    <br><br>
    <!-- 스앵님이 js쓰기싫어서 쓴 막코드 이렇게 쓰지마쎄요옹~ -->
    <input type="button" value="글쓰기" onclick="locatio.href='./notice_writer.html';">
    
</body>
</html>
저작자표시 비영리 변경금지 (새창열림)
'Web' 카테고리의 다른 글
  • Servlet - 기초2
  • Servlet - 기초
  • 응용문제 - html + jsp
  • 복습 7 - 2차key배열
9na0
9na0
응애
  • 9na0
    구나딩
    9na0
  • 전체
    오늘
    어제
    • 분류 전체보기 (211)
      • Web (118)
      • Java (28)
      • 데이터베이스 (14)
      • 세팅 (12)
      • 과제 (3)
      • 쪽지시험 (2)
      • 정보처리기사 (4)
      • 서버 (25)
  • 블로그 메뉴

    • 링크

      • 포폴
      • 구깃
    • 공지사항

    • 인기 글

    • 태그

      net2
      Oracle
      noticewriteok
      spring-boot
      file25
      datalist
      io_dto
      ab1
      net3
      exam1_1~10
      re2
      java_io1~10
      notice_writer
      file25_t
      macbook pro m4
      re_java10
      file24
      net4
      net5~10
      net1
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    9na0
    공지사항 게시판 ver.2
    상단으로

    티스토리툴바