타닥타닥 개발자의 일상

다음 페이지를 선택하는 웹페이지 Spring jsp파일로 구성하기 / 객체생성으로 배열 만들고 배열을 table로 만들어보기 본문

코딩 기록/Spring

다음 페이지를 선택하는 웹페이지 Spring jsp파일로 구성하기 / 객체생성으로 배열 만들고 배열을 table로 만들어보기

NomadHaven 2021. 12. 29. 00:44

<기본 디렉토리 구성>

 

 

 

 

<index.jsp 실행시켰을때 웹 페이지 모습>

<index.jsp>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<a href="hello.do">hello로 이동</a>

<a href="home.do">home로 이동</a>

<a href="world.do">world로 이동</a>


</body>
</html>

<HelloController.java>

package multi.camp.a;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;  
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import multi.camp.a.dto.HumanDto;

@Controller
public class HelloController {

	private static Logger logger = LoggerFactory.getLogger(HelloController.class);
	
	@RequestMapping(value="hello.do", method = RequestMethod.GET)
	public String hello(Model model) {
		logger.info("HelloController hello()" +new Date()); //콘솔창에 정보 출력
		
		String name = "홍길동";
		model.addAttribute("_name",name);  //입력받은 홍길동이라는 이름을 .
		
		return "hello"; //hello.jsp에 반환한다.
		
		}
		
		@RequestMapping(value="home.do", method = RequestMethod.GET)
		public String home(Model model) {
		logger.info("HelloController home()" +new Date()); //콘솔창에 정보 출력
	
		HumanDto dto = new HumanDto("gamer",18);
		model.addAttribute("human",dto); //human이란  dto객체를
			
			return "home"; //  home.jsp에 반환한다.
		}
		
		@RequestMapping(value="world.do", method = RequestMethod.GET)
		public String world(Model model) {
			logger.info("HelloController world()" +new Date());  //콘솔창에 정보 출력
			
			List<HumanDto> list = new ArrayList<>();
			list.add(new HumanDto("프로그래머",25));
			list.add(new HumanDto("게이머",18));
			list.add(new HumanDto("시스템엔지니어",35));
	
			model.addAttribute("list",list); //list라는 변수명을 가진 list객체를
			
			return "world"; //world.jsp에 반환한다.
		}
	
}

 

<HumanDto.java>

package multi.camp.a.dto;

public class HumanDto {
	
	private String job;
	private int age;
	public String getJob() {
		return job;
	}
	public void setJob(String job) {
		this.job = job;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "HumanDto [job=" + job + ", age=" + age + "]";
	}
	public HumanDto(String job, int age) {
		super();
		this.job = job;
		this.age = age;
	}

}

 

 

<hello.jsp>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>hello jsp입니다.</h1>

<%
	String name= (String)request.getAttribute("_name");	//HelloController.java에서 전달받은 데이터를 String자료형으로 변환
%>

<p><%=name %></p>

name:<input type="text" value="<%=name %>">
</body>
</html>

 

 

<home.jsp>

<%@page import="multi.camp.a.dto.HumanDto"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%
HumanDto  human = (HumanDto)request.getAttribute("human");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>home jsp.</h1>



<p>직업:<%=human.getJob() %></p>
나이:<input type="text" value="<%=human.getAge() %>">




</body>
</html>

 

<world.jsp>

<%@page import="multi.camp.a.dto.HumanDto"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

 
<%List<HumanDto> list = (List<HumanDto>)request.getAttribute("list"); %>


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<h2>world jsp입니다.</h2>

<table border="1" >
<tr>
	<th>직업</th><th>나이</th>
<tr/>

<% 
for(int i =0; i<list.size();i++){
	HumanDto dto =list.get(i);
%>

<tr>
<td><%=dto.getJob() %></td><td><%=dto.getAge() %></td>
<% 
}
%>



</table>



</body>
</html>

Comments