카테고리 없음

ReturnController

Handy Smurf 2020. 8. 25. 17:34

return type void 

 

 

package org.zerock.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import lombok.extern.log4j.Log4j;

@Controller
@RequestMapping("/ret")
@Log4j
public class ReturnController {

	@RequestMapping("/a")
	
	public void methoda() {
		log.info("a method");
		
	}
}

 요청한 경로로 JSP파일을 찾는다

 

Servlet-context.xml

	<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
	<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<beans:property name="prefix" value="/WEB-INF/views/" />
		<beans:property name="suffix" value=".jsp" />
	</beans:bean>

 

/WEB-INF/views/ ret/a .jsp"

ret앞뒤

 

WEB-INF/views/ret/a.jsp

 

 

 

view > rel > a.jsp create

<%@ 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>
<p>a.jsp로 포워드 됨</p>
</body>
</html>

 

 

http://localhost:1234/ret/a

 

 

return type String

 

 

 

@RequestMapping("/b")
	
	public String methodb() {
		log.info("b method");
		
		return "b";
		
	}
	

http://localhost:1234/ret/b

a.jsp 포워드

@RequestMapping("/b")
	
	public String methodb() {
		log.info("b method");
		
		return "/ret/a";
		
	}
    
    
  

http://localhost:1234/ret/b

@RequestMapping("/c")

public String methodc() {
	log.info("c method");
	
	return "hello world";
	
}

 

 

@ResponseBody (내용이 몸체가 됨)

@RequestMapping("/c")
@ResponseBody
public String methodc() {
	log.info("c method");
	
	return "hello world";
	
}

@RequestMapping("/d")
public String methodd(Model model) {
	log.info("d method");
	
	model.addAttribute("myAttr", "my-val");
	
	return "/ret/a";
	
}


@RequestMapping("/e")
public String methode(Model model) {
	log.info("e method");
		Member member = new Member();
		member.setName("joth");
		member.setAge(999);
		
		model.addAttribute("mem", member);
	
	return "/ret/a";
	
}
<%@ 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>
<p>a.jsp로 포워드 됨</p>
<p>d : $ {myAttr}</p>
<p>e : $ {mem.name}, ${mem.age} </p>

</body>
</html>

@RequestMapping("/f")
	public String methodf(Model model) {
		log.info("f method");
		Member member = new Member();
		member.setName("seoul");
		member.setAge(1000);
		model.addAttribute(member);
		
		return "/ret/a";
	}
	
	@RequestMapping("/g")
	public String methodg(Model model) {
		log.info("g method");
		
		String[] strs = new String[]{"seoul", "jeju", "korea"};
		model.addAttribute("cities", strs);
		
		return "/ret/b";
	}
	
	@RequestMapping("/h")
	public String methodh(Model model) {
		log.info("h method");
		
		Member m1 = new Member();
		m1.setName("seoul");
		m1.setAge(22);
		
		Member m2 = new Member();
		m2.setName("korea");
		m2.setAge(33);
		
	//배열 
		
		Member[] members = new Member[] {m1, m2};
		//model.addAttribute("memberList", members);
		
		
	//list	
		List<Member> members2 = new ArrayList<>();
		members2.add(m1);
		members2.add(m2);
		//model.addAttribute("memberList", members2);
		model.addAttribute(members2
				);
		return "/ret/b";
	}
}

 

	<p>/f : ${member.name }, ${member.age }</p>
	<div>
		/g : <br />
		<ol>
			<c:forEach items="${cities }" var="city">
				<li>${city }</li>
			</c:forEach>

		</ol>

	</div>
	
	<div>
	<p>/h</p>
		<table class="table">
		<tr>
			<th>name</th>
			<th>age</th>
		</tr>
		<c:forEach items="${memberList }" var="member">
			<tr>
				<td>${member.name }</td>
				<td>${member.age }</td>
			</tr>
			
		
		
		</c:forEach>
		
		</table>
	</div>

 

 

/i?name=jeju

	// /i?name=jeju
	@RequestMapping("/i")
	public String methodi(@ModelAttribute("name") String name) {
		log.info("i method");
		log.info(name);
		
		
		
		return "/ret/c";
	}

 

c.jsp

 

<%@ 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" %>


<%@ page import="java.sql.*" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
<script src="https://kit.fontawesome.com/a076d05399.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>

<title>Insert title here</title>
</head>
<body>


<p>i: ${name}</p>



</body>
</html>

http://localhost:1234/ret/i?name=dododo

 

 

	// /j?name=jeju&age=33
	@RequestMapping("/j") //medel을 붙이지 않아도 모델로 등록이 된다.
	public String methodi(Member member) {
		log.info("i method");

		return "/ret/c";
	}

 

 

<p>j: ${member.name}, ${member.age}</p>

http://localhost:1234/ret/j?name=jeju&age=88

	// /k?name=seoul&age=77
	@RequestMapping("/k") //medel을 붙이지 않아도 모델로 등록이 된다.
	public String methodk(@ModelAttribute("mem")Member member) {
		log.info("k method");

		return "/ret/c";
	}
<p>k: ${mem.name}, ${mem.age}</p>

 

 

Emmet 설치하기 (jsp, html 축약)

https://github.com/emmetio/emmet-eclipse

 

 

emmetio/emmet-eclipse

Emmet for Eclipse. Contribute to emmetio/emmet-eclipse development by creating an account on GitHub.

github.com