◎ Java/JSP📋

    [JSP] JSP에서 JavaScript 템플릿 문자열(${...}, Template literals) 사용 방법 [JavaScript 백틱 사용이 안될 때]

    - JavaScript 백틱 사용이 안될 때 jsp를 사용할 경우, jsp의 EL 표현식과 JavaScript의 템플릿 문자열이 겹치게 된다. 아래의 코드는 jsp 엔진을 거치지 않으면 정상적으로 동작한다. var today = '2023-07-25'; var msg = `오늘은 ${today} 입니다.`; // 오늘은 2023-07-25 입니다. 그러나, jsp 엔진을 거치게 되면 아래와 같게 변한다. 1) page, request, session, context 에서 "today"라는 이름표가 붙은 값을 찾는다. 2) null이면 아무것도 출력하지 않고 EL 표현식(${...})을 없앤다. 3) null 이 아니면 EL 표현식(${...})에 toString() 값을 넣는다. // Controller..

    [JSP] 표현식(JSTL) 안에서 삼항연산자 쓰는 방법 [JSTL 문자열 연결하기]

    - 표현식(JSTL) 안에서 삼항연산자 쓰는 방법 JSTL 안에서도 조건에 따른 값이 달라지는 삼항연산자를 사용할 수 있다. JSTL 안에서 문자열을 연결하고 싶다면? 우리가 알고 있는 '+'나 '||'를 사용하게 되면 에러가 발생한다. JSTP 안에서 문자열 연결을 하고 싶다면 '+='를 사용하면 된다. 단순한 문자열 연결은 아래처럼 연결 할 수 있다. - 참고자료 [JSP] JSTL(EL) 문자열 연결(문자열 더하기) apple, delicious, tateless 세 개의 변수가 선언되어 있습니다. JSTL(EL)에서는 '+' 연산자를 이용할 수 없기 때문에 단순히 아래의 이미지와 같이 문자열을 연결할 수 있습니다. 만약, 삼항연산자로 처리 congsong.tistory.com

    [JSP] Ajax로 보낸 JSON 데이터 서블릿(Servlet)으로 받아오기 [JSON 인코딩 깨짐 해결하기]

    - Ajax로 보낸 JSON 데이터 서블릿(Servlet)으로 받아오기 화면에서 Ajax POST로 데이터를 보냈는데, Servlet에서 null이 떴다. → 해당 프로젝트는 Spring을 사용하지 않고 Servlet으로만 구성되고 있다. 보낼 데이터를 객체가 아니라 JSON 형태로 변경하였고, Servlet 쪽에서도 JSON 파싱 구문을 넣어줬다. //JSON Parsing StringBuffer jb = new StringBuffer(); String line = null; try { BufferedReader reader = request.getReader(); while ((line = reader.readLine()) != null) jb.append(line); } catch (Exceptio..

    [JSP] 표현식(JSTL) 안에서 var 변수를 사용할 수 있을까? ["${}" 안에서 스크립트 변수 사용가능 여부]

    - 표현식(JSTL) 안에서 var 변수를 사용할 수 있을까? 우리는 jsp에서 "${}" 형태의 표현식(expression)을 많이 보았을 것이다. 이 표현식은 컨트롤러에서 지정한 값을 사용하기 위해, tag로 함수를 호출하기 위해 사용한다. /* 표현식을 이용하여 값을 불러온다 */ var bno = "${bno}"; /* 객체로 값을 불러올 수도 있다 */ var rno = "${reply.rno}"; /* 아래와 같이 함수도 사용 가능 */ var addDay = "${ufn:addDays('20220822', 5)}"; /* 표현식으로 불러온 함수의 파라미터로는 컨트롤러 값도 가능하다 */ var count = "${ufn:count(reply.rno,'20220822')}"; 만약, 표현식으로..

    [JSP] EL과 useBean을 이용한 파라미터 처리 [EL 파라미터 처리, useBean 파라미터 바인딩]

    - EL과 useBean을 이용한 파라미터 처리 - domain.Member.java package domain; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor public class Member { private String id; private String pw; private String name; private String email; } - memberForm.jsp id : pwd : name : email : 전송 - memberResult.jsp el을 이용한 파라미터 처리 ${param.id} ${pa..