[개발] Programming/JSTL9 JSTL 태그에 class나 stlye에 if 조건문을 사용하는 방법 JSTL을 이용하면 JQuery 없이도 태그나 다른 element를 제어할 수 있다. 예1. div의 배경색을 조건에 따라 파란색이나 빨간색으로 표현하고 싶을 경우. java 컨트롤러 소스 modelMap.put("color", "red"); 웹 페이지 소스 배경을 붉은색으로 결과 페이지 소스 배경을 붉은색으로 예2. div에 조건에 따라 클래스(redBackground)를 부여하는 경우 java 컨트롤러 소스 modelMap.put("addClass", "Y"); 웹 페이지 소스 배경을 붉은색으로 결과 페이지 소스 배경을 붉은색으로 마찬가지로 JSTL에서 제공하는 choose 조건문을 if 대신 사용할 수 있다. 2018. 11. 5. 자바스크립트에서 spring:message에 arguments 사용하는 방법 자바스크립트에서 spring:message 를 사용하는 경우가 있는데이때 argument를 message에 추가하여 동적으로 문구를 사용하기도 한다. 만약 언어 프로퍼티 파일에 아래가 선언되어 있다고 가정하고. home_greet = Hello, {0} !! 아래 처럼 그냥 넣을 경우 Exception 오류가 발생한다. 그래서 우선 spring:message에 arguments를 선언하고arguments에 선언한 코드를 replace하는 방식으로 동적으로 문구를 만들 수 있다. 즉 아래와 동일한 결과가 나오게 된다. 이렇게 하면 동적으로 문구를 생성시킬 수 있다. 2018. 11. 5. JSTL, 자바스크립트에 JSTL 조건문 사용하는 방법 JSTL 구문은 자바스크립트에서도 활용할 수 있다. ** 다만 서버단에서 실행되는 소스라는 걸 잊지 말자! ** 즉, 스크립트단 조건문으로는 예외 처리를 하더라도 JSTL은 서버단에서 실행되므로 화면이 로딩되기 전에 이미 오류가 발생한다. 예) 아래는 소스는 자바스크립트에서 JSTL 조건문을 사용한 경우이다. 'alertYN'라는 map에 'yes'라는 값이 있는 경우 결과: "제어되니?"라는 alert 창이 뜬다. 2018. 11. 5. JSTL, formatNumber으로 숫자 parsing JSTL 문법으로 숫자에 콤마를 찍는 등과 같은 파싱하는 방법은 아래와 같다. 예를 들어 ${price} 에 "1000000" 백만이라는 숫자가 있을 때천 단위로 콤마를 찍어주고 싶은 경우 아래와 같이 변경할 수 있다. 가격: 원 위와 같이 선언한 경우 결과는 다음과 같이 찍힐 것이다. 가격: 1,000,000 원 * 참고로 fmt를 사용하기 위해 라이브러리를 상단에 선언해주는걸 잊지말 것. 2018. 11. 5. JSTL, 날짜 시간 parsing 함수 JSTL 문법으로 문자열 형태의 날짜를 파싱하는 방법은 아래와 같다. 예를 들어 ${dateTimeStr} 에 저장된 "20180316180000" 이라는 문자열이 있을 때아래와 같이 패턴을 원하는 형태로 변경할 수 있다. STR: ${orgStr} // 20180316180000 이 저장되어 있는 map1) 2) 위와 같이 선언한 경우 결과는 다음과 같이 찍힐 것이다.STR: 20180316180000 1) 20180316180000 2) 2018/03/16 18:00:00 * 참고로 fmt를 사용하기 위해 라이브러리를 상단에 선언해주는걸 잊지말 것. 2018. 11. 5. JSTL, for문과 유사한 foreach 구문 forEach 구문은 HTML에서 사용할 수 있는 for 문으로 아주 유용하다. 예시 menuList: 리스트를 저장할 새로운 변수(forEach에서 활용) menuList: 원래 데이터를 가지고 있는 변수 ${menuList.drinks } ${menuList.meals } * forEach의 varStatus 활용법 #{status.current} 현재의 for문에 해당하는 번호 #{status.index} 0부터의 순서 #{status.count} 1부터의 순서 #{status.first} 현재 루프가 처음인지 확인 #{status.last} 현재 루프가 마지막인지 확인 #{status.begin} for문의 시작 값 #{status.end} for문의 끝 값 #{status.step} for문의 .. 2018. 11. 5. JSTL 변수 선언 및 값 할당하는 방법 JSTL에서 변수는 set을 이용하면 된다. 예를 들어 phNum 이라는 변수가 있다고 가정하면 선언은 다음과 같다. // 또는 변수에 값 할당은 다음과 같다. 01012341234 // 또는 2018. 11. 5. JSTL, if else 대신 사용할 수 있는 choose 문 JSTL에도 if는 존재한다. 하지만, else가 없어서 불편하다. 조건 성립 그래서 일반적으로 많이 사용하는 문법은 switch와 유사한 choose 이다.구조는 다음과 같다. a일 경우 b일 경우 default, 즉 else 부분 * 만약 디폴트 값을 원하지 않는다면 그냥 를 없애면 된다. 2018. 11. 5. JSTL 함수 length로 리스트 길이 구하기 JSTL 함수로 리스트의 길이를 구하는 방법 우선 JTSL 라이브러리를 추가한다. jstlList라는 리스트의 길이를 구할 경우 이런식으로 쓰면 끝난다. ${fn:length(jstlList)} 2018. 11. 2. 이전 1 다음