일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 객체지향프로그래밍
- java설치
- spring
- HTML5
- 자바스프링
- Hooks
- java spring
- 플랙스박스기본
- node.js
- 리액트
- 자바 스프링
- SQL 연산자
- ubuntu
- 환경설정
- spring 환경설정
- 람다식
- 타입
- Eclipse
- REACT
- SQL 문제
- Flexbox Froggy
- Flex Box 기본
- 스프링
- 오산대맛집
- 노마드코더
- SQL
- numpy
- SQL 명령어
- 이클립스
- 관계형데이터베이스
- Today
- Total
이것저것
[Spring] JSTL 사용하기 본문
tigerView에서 홈으로 이동하는 url을 집어넣어주기 위해서 jstl을 사용할 것이다.
jstl은 index.jsp의 위쪽을 보면 아래와 같이 코드가 있을 것이다.
이 jstl 코드를 쓰기 위해서 pom.xml에 dependency로 이미 설치를 해주었다.
우선 t5 controller를 만들고 index.jsp에 링크 5를 만들어준다.
그리고 tigerView에서 home으로 가는 링크를 만들기 위해서 jstl을 사용할 것이다.
c:url을 사용해 home으로 가는 태그를 생성해준다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>tiger View</h1>
<!-- <c:url value='index.jsp' /> -->
<a href="<c:url value='index.jsp' />">Home</a>
</body>
</html>
controller에서 배열을 불러오는 법이다.
controller에 배열을 생성해주고 tigerView.jsp에서 c:forEach문을 사용한다.
package pack01;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class tiger {
@RequestMapping("/t8")
public String func08(Model m) {
String ar[] = {"호랑이", "고양이", "강아지", "고슴도치"};
System.out.println("f8");
m.addAttribute("ar", ar);
return "tigerView";
}
}
tigerView에 jstl이 없으면 c:forEach문을 쓸 수 없다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>tiger View</h1>
<!-- <c:url value='index.jsp' /> -->
<% String name = (String)request.getAttribute("name"); %>
<% String age = (String)request.getAttribute("age"); %>
<%= name %>
<%= age %>
<a href="<c:url value='index.jsp' />">Home</a>
<ul>
<c:forEach var="im" items="${ar}">
<li>${im}</li>
</c:forEach>
</ul>
</body>
</html>
c:forEach는 ar이라는 아이템을 가지고 var의 im에 하나씩 넣어주겠다. 라는 뜻이다.
Apple.java를 생성해줘서 Apple에 name과 age객체를 생성해주었다.
package pack01;
public class Apple {
String name;
int age;
public Apple(String name, int age) {
this.name = name;
this.age = age;
}
}
그리고 tiger.java에서 Apple 객체를 생성해준다. 그리고 Model을 사용해서 Apple을 가져온다
package pack01;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class tiger {
@RequestMapping("/t9")
public String func09(Model m) {
Apple apple = new Apple("호랑이", 30);
m.addAttribute("apple", apple);
System.out.println("f9");
return "tigerView";
}
}
tigerView에서는 h1태그에 ${apple.name}을 이용해서 출력해준다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>tiger View</h1>
<h1>${apple.name}</h1>
<h1>${apple.age}</h1>
</body>
</html>
Apple 객체를 이용해서 배열을 생성한 뒤 배열을 list로 출력해준다.
package pack01;
import java.util.LinkedList;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class tiger {
@RequestMapping("/t10")
public String func10(Model m) {
Apple ar2[] = {
new Apple("호랑이", 30),
new Apple("독수리", 40),
new Apple("코끼리", 50)};
m.addAttribute("ar2", ar2);
System.out.println("f10");
return "tigerView";
}
}
tigerView에는 c:forEach를 사용했던 것을 응용해서 Apple 배열을 출력해준다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>tiger View</h1>
<h1>${apple.name}</h1>
<h1>${apple.age}</h1>
<ul>
<c:forEach var="apple" items="${ar2}">
<li>${apple.name}, ${apple.age}</li>
</c:forEach>
</ul>
</body>
</html>
LinkedList를 사용할 것이다.
LinkedList<>의 형식을 사용한다.
li를 새로운 객체로 생성해 주면 li는 자료를 관리하는 주체가 된다.
package pack01;
import java.util.LinkedList;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class tiger {
@RequestMapping("/t11")
public String func11(Model m) {
LinkedList<String> li = new LinkedList<String>();
li.add("호랑이2");
li.add("코끼리2");
li.add("독수리2");
m.addAttribute("li", li);
System.out.println("f11");
return "tigerView";
}
}
마찬가지로 tigerView에 forEach를 사용해서 출력해주자
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>tiger View</h1>
<h1>${apple.name}</h1>
<h1>${apple.age}</h1>
<ul>
<c:forEach var="apple" items="${ar2}">
<li>${apple.name}, ${apple.age}</li>
</c:forEach>
</ul>
<ul>
<c:forEach var="list" items="${li}">
<li>${list}</li>
</c:forEach>
</ul>
</body>
</html>
LinkList에 String대신에 Apple 객체를 사용할 것이다.
Apple은 name과 age 두 개를 가지고 있으니 age도 적어줘야지 오류가 나지 않는다.
package pack01;
import java.util.LinkedList;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class tiger {
@RequestMapping("/t12")
public String func12(Model m) {
LinkedList<Apple> li2 = new LinkedList<Apple>();
li2.add(new Apple("호랑이3", 50));
li2.add(new Apple("강아지", 20));
li2.add(new Apple("고양이", 25));
m.addAttribute("li2", li2);
System.out.println("f12");
return "tigerView";
}
}
tigerView에서 forEach를 이용해서 출력해준다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>tiger View</h1>
<h1>${apple.name}</h1>
<h1>${apple.age}</h1>
<ul>
<c:forEach var="apple" items="${ar2}">
<li>${apple.name}, ${apple.age}</li>
</c:forEach>
</ul>
<ul>
<c:forEach var="list" items="${li}">
<li>${list}</li>
</c:forEach>
</ul>
<ul>
<c:forEach var="al" items="${li2}">
<li>${al.name}, ${al.age}</li>
</c:forEach>
</ul>
</body>
</html>
'Spring' 카테고리의 다른 글
[Spring] Mybatis (0) | 2020.06.19 |
---|---|
[Spring] ajax로 페이지 refresh없이 출력하기 (0) | 2020.06.18 |
[Spring] axios로 spring 구현 (0) | 2020.06.18 |
[Spring]환경설정(약식2) (0) | 2020.06.15 |
[Spring] Spring 환경설정(약식) (0) | 2020.06.11 |