모듈은 파일을 여러개 동시에 선택, 모아서 사용
.jspf 파일
그리고 include : <%@ include file ="포함할 파일 경로" %>
계속해서 sub 이 main 에 삽입되는 형식
그리고 sub 파일은 코드가 위의 <%@ %> 이런 것들이 있기는 한데 아마 자동 템플릿을 설정해둬서 그런것 같다
(아닐수도..필요한거일수도) 근데 없어도 잘만 실행된다 그냥 삽입할 내용 그뿐이면 됨
01
sub 콘텐트는 include directive 로 <%@ include file ="포함할 파일 절대경로" %> 이렇게 삽입한다
01include-directive-sub 이 01include-directive-main 으로 삽입됨
02
마찬가지. 02sub 이 02page1, 02page2 에 삽입됨. 볼 것 없음.
03include-action
액션태그 standard action tag 표준 액션 태그
예) jsp:include, jsp:forward, jsp:param, jsp:body
그 중 include 액션태그
<jsp:include page="절대경로"></jsp:include>
경로는 "/(해당 파일이 위치한 폴더명)/(파일명.jsp)" 로 작성되었음
이 태그 위치에 그대로 삽입됨
*주제와 무관하지만, head 부분에 icon을 넣기 위한 링크가 걸려있는데 (여기서 아이콘 사용이 없으므로 주석처리해도 동일하게 작동됨)
그래도 설명해보자면, 일단 코드는 다음과 같다
<link rel="stylesheet" href="<%= request.getContextPath() %>/resource/css/icon/css/all.css">
전에 html 에서 사용하던 것과 별다를 것이 없지만, href 를 보면, 일단 <%= request.getContextPath() %> 가 쓰였다
바로 전 폴더에서 경로를 쓸 때 사용한다고 했었다
그 이후는 경로인데, 우리는 이클립스에서 webcontent 안에 resource>css>icon>css 폴더를 만들고 그 안에 all.css 파일을 넣어두었다
04
마찬가지
05
마찬가지
* 주제와 무관하지만, <%= request.getParameter("name") %> 가 있는데 입력하도록 하는 코드가 없기 때문에 null 로 출력된다
하지만 쿼리스트링에 (주소창에) 직접 ?name=somehting 입력해주면 페이지에 값이 표시됨
06
이번엔 <jsp:param /> (빈요소_시작태그만 존재)
검색결과↓
<jsp:include> 혹은 <jsp:forward> 요소 안에서 (자식요소로) 사용됨 (단독 불가)
데이터 전달 목적으로 사용됨
name 과 value 로 이루어져있음
이에 대해서는 아래 07에서 더 이해하기 쉽다
이건뭐지
07
main 파일 코드
<jsp:include page="07request-param-ex-sub.jsp">
<jsp:param value="apple" name="food"/>
<jsp:param value="bts" name="group"/>
<jsp:param value="butter" name="song" />
</jsp:include>
sub 파일 코드
city : <%= request.getParameter("city") %> <br>
food : <%= request.getParameter("food") %> <br>
group : <%= request.getParameter("group") %> <br>
<jsp:include> </jsp:include> 안에 <jsp:param value="" name=""/> 태그가 있다
이 태그는 include 가 지정한 파일에 있는 같은 name 에 value 값을 전달하는 역할을 한다
즉, food=apple, group=bts, song=butter 가 되는 것
sub 파일은 이 값을 전달받았기 때문에 request.gerParameter 을 작성하면 페이지에 전달받은 값이 표시된다
하지만 주소창에 쿼리스트링으로 표시되지는 않음!!
* 07번부터 include 태그에서 경로 전달할 때 그냥 파일명만 작성
*include 태그에서 file 을 써도되고 page 를 써도 되나보다? (02page 내용?)
08
main 파일, main1 파일, sub 파일이 있는데,
main에서는 sub파일로 menu1,2,3 을 각각 link1,2,3으로 전달
main1에서는 sub파일로 menu1,2,3을 각각 city1,2,3으로 전달
→ 이 경우, main 을 실행하면 link 로 출력, main1 을 실행하면 city 로 출력된다
09
param 으로 값을 받아서 더하기 연산을 해보자
그런데 getParameter 로 받았다
getParameter 는 문자열로 받는다 그런데 이때 형변환 없이 더하면 문자열이 더해진다 5+6=56
따라서 형변환을 해서 더해야한다 5+6=11
형변환: int a = Integer.parseInt(request.getParaneter("num")); → 그니까 Integer.parseInt() 라는 소리
여기서 왜 이렇게 (<%= %> 없이) 썼나면 이 코드 전체가 지금 <% %> 안에 있음 자바코드임
10
param 으로 전달한건 person=trump 뿐이어서 초기 화면에서 trump 만 출력, 나머지는 null
대신 위에 입력 창을 만들었다 (input text) 따라서 입력하는대로 출력됨
(초기값을 value 로 적어두어서 입력창에 처음부터 써있음. 또한 post 방식으로 작성하여서 쿼리스트링으로 표시되지 않음)
'course 2021 > JSP' 카테고리의 다른 글
JSP06 - 05attribute (0) | 2021.11.17 |
---|---|
JSP05 - 04path (0) | 2021.11.17 |
JSP03 - 02request (0) | 2021.11.17 |
JSP02 - memo (0) | 2021.11.17 |
JSP01 (0) | 2021.11.10 |
모듈은 파일을 여러개 동시에 선택, 모아서 사용
.jspf 파일
그리고 include : <%@ include file ="포함할 파일 경로" %>
계속해서 sub 이 main 에 삽입되는 형식
그리고 sub 파일은 코드가 위의 <%@ %> 이런 것들이 있기는 한데 아마 자동 템플릿을 설정해둬서 그런것 같다
(아닐수도..필요한거일수도) 근데 없어도 잘만 실행된다 그냥 삽입할 내용 그뿐이면 됨
01
sub 콘텐트는 include directive 로 <%@ include file ="포함할 파일 절대경로" %> 이렇게 삽입한다
01include-directive-sub 이 01include-directive-main 으로 삽입됨
02
마찬가지. 02sub 이 02page1, 02page2 에 삽입됨. 볼 것 없음.
03include-action
액션태그 standard action tag 표준 액션 태그
예) jsp:include, jsp:forward, jsp:param, jsp:body
그 중 include 액션태그
<jsp:include page="절대경로"></jsp:include>
경로는 "/(해당 파일이 위치한 폴더명)/(파일명.jsp)" 로 작성되었음
이 태그 위치에 그대로 삽입됨
*주제와 무관하지만, head 부분에 icon을 넣기 위한 링크가 걸려있는데 (여기서 아이콘 사용이 없으므로 주석처리해도 동일하게 작동됨)
그래도 설명해보자면, 일단 코드는 다음과 같다
<link rel="stylesheet" href="<%= request.getContextPath() %>/resource/css/icon/css/all.css">
전에 html 에서 사용하던 것과 별다를 것이 없지만, href 를 보면, 일단 <%= request.getContextPath() %> 가 쓰였다
바로 전 폴더에서 경로를 쓸 때 사용한다고 했었다
그 이후는 경로인데, 우리는 이클립스에서 webcontent 안에 resource>css>icon>css 폴더를 만들고 그 안에 all.css 파일을 넣어두었다
04
마찬가지
05
마찬가지
* 주제와 무관하지만, <%= request.getParameter("name") %> 가 있는데 입력하도록 하는 코드가 없기 때문에 null 로 출력된다
하지만 쿼리스트링에 (주소창에) 직접 ?name=somehting 입력해주면 페이지에 값이 표시됨
06
이번엔 <jsp:param /> (빈요소_시작태그만 존재)
검색결과↓
<jsp:include> 혹은 <jsp:forward> 요소 안에서 (자식요소로) 사용됨 (단독 불가)
데이터 전달 목적으로 사용됨
name 과 value 로 이루어져있음
이에 대해서는 아래 07에서 더 이해하기 쉽다
이건뭐지
07
main 파일 코드
<jsp:include page="07request-param-ex-sub.jsp">
<jsp:param value="apple" name="food"/>
<jsp:param value="bts" name="group"/>
<jsp:param value="butter" name="song" />
</jsp:include>
sub 파일 코드
city : <%= request.getParameter("city") %> <br>
food : <%= request.getParameter("food") %> <br>
group : <%= request.getParameter("group") %> <br>
<jsp:include> </jsp:include> 안에 <jsp:param value="" name=""/> 태그가 있다
이 태그는 include 가 지정한 파일에 있는 같은 name 에 value 값을 전달하는 역할을 한다
즉, food=apple, group=bts, song=butter 가 되는 것
sub 파일은 이 값을 전달받았기 때문에 request.gerParameter 을 작성하면 페이지에 전달받은 값이 표시된다
하지만 주소창에 쿼리스트링으로 표시되지는 않음!!
* 07번부터 include 태그에서 경로 전달할 때 그냥 파일명만 작성
*include 태그에서 file 을 써도되고 page 를 써도 되나보다? (02page 내용?)
08
main 파일, main1 파일, sub 파일이 있는데,
main에서는 sub파일로 menu1,2,3 을 각각 link1,2,3으로 전달
main1에서는 sub파일로 menu1,2,3을 각각 city1,2,3으로 전달
→ 이 경우, main 을 실행하면 link 로 출력, main1 을 실행하면 city 로 출력된다
09
param 으로 값을 받아서 더하기 연산을 해보자
그런데 getParameter 로 받았다
getParameter 는 문자열로 받는다 그런데 이때 형변환 없이 더하면 문자열이 더해진다 5+6=56
따라서 형변환을 해서 더해야한다 5+6=11
형변환: int a = Integer.parseInt(request.getParaneter("num")); → 그니까 Integer.parseInt() 라는 소리
여기서 왜 이렇게 (<%= %> 없이) 썼나면 이 코드 전체가 지금 <% %> 안에 있음 자바코드임
10
param 으로 전달한건 person=trump 뿐이어서 초기 화면에서 trump 만 출력, 나머지는 null
대신 위에 입력 창을 만들었다 (input text) 따라서 입력하는대로 출력됨
(초기값을 value 로 적어두어서 입력창에 처음부터 써있음. 또한 post 방식으로 작성하여서 쿼리스트링으로 표시되지 않음)
'course 2021 > JSP' 카테고리의 다른 글
JSP06 - 05attribute (0) | 2021.11.17 |
---|---|
JSP05 - 04path (0) | 2021.11.17 |
JSP03 - 02request (0) | 2021.11.17 |
JSP02 - memo (0) | 2021.11.17 |
JSP01 (0) | 2021.11.10 |