|
|
|
@ -97,7 +97,7 @@ access token : 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
|
|
|
|
|
mapper에서 xml을 편하게 이동
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 팝업 공통처리 : 등록 / 변경 / 삭제 팝업
|
|
|
|
|
## 팝업 공통처리 : 등록 / 변경 / 삭제 팝업
|
|
|
|
|
```html
|
|
|
|
|
|
|
|
|
|
1) 변수 정의
|
|
|
|
@ -128,7 +128,7 @@ access token : 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
|
|
|
|
|
<%@include file="/WEB-INF/jsp/framework/biz-popup-btn.jsp"%>
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
#### columns style
|
|
|
|
|
### columns style
|
|
|
|
|
```js
|
|
|
|
|
{
|
|
|
|
|
header: '롤 명',
|
|
|
|
@ -150,8 +150,34 @@ access token : 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
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
### 참조 - 필수
|
|
|
|
|
## 참조 - 필수
|
|
|
|
|
[git 사용법 강좌](https://www.youtube.com/watch?v=1I3hMwQU6GU&t=4031s)
|
|
|
|
|
[css flex / grid 강좌1](https://www.youtube.com/watch?v=7neASrWEFEM)
|
|
|
|
|
[css flex / grid 강좌2](https://www.youtube.com/watch?v=eprXmC_j9A4)
|
|
|
|
|
[css flex / grid 강좌3](https://www.youtube.com/watch?v=DxwBN7vdr-A&list=PLFeNz2ojQZjso4ZJVeeMWR72l8s9V8Ym9)
|
|
|
|
|
|
|
|
|
|
## JSP에서 el태그(${}) 대신 JSTL <c:out> 사용해야 하는 이유
|
|
|
|
|
```text
|
|
|
|
|
jsp에서 다양한 방식으로 서버사이드 데이터를 출력할 수 있다.
|
|
|
|
|
그 중 가장 많이 쓰는건 el태그인데 그 이유는 el태그 사용법이 ${}로 매우 간단하기때문이다.
|
|
|
|
|
|
|
|
|
|
el태그만 써도 화면에 값이 잘 출력되는데 왜 굳이 <c:out>를 사용할까?
|
|
|
|
|
```
|
|
|
|
|
#### 결론: XSS 방어하기 위해!
|
|
|
|
|
```text
|
|
|
|
|
<c:out>를 사용하면 escapeXml속성을 활용할 수 있다.
|
|
|
|
|
escapeXml를 true로 설정함으로써 가장 간단하게 XSS(링크)를 방어할 수 있다.
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
// 1.escapeXml = true 인 경우(디폴트)
|
|
|
|
|
<c:out value="<script type='text/javascript'>alert('테스트');</script>"/>
|
|
|
|
|
|
|
|
|
|
// 2.escapeXml = false 인 경우 == el태그와 동일
|
|
|
|
|
<c:out value="<script type='text/javascript'>alert('테스트');</script>" escapeXml="false"/>
|
|
|
|
|
```
|
|
|
|
|
1. escapeXml = true의 경우, text 그대로 출력된다.
|
|
|
|
|
2. escapeXml = false 인 경우나 el태그인 경우, alert창이 실행된다.
|
|
|
|
|
|
|
|
|
|
따라서 XSS 방어하기 위해서는 <c:out>을 사용하는 게 좋다.
|
|
|
|
|
|
|
|
|
|