◎ Java/JSP📋

    [JSP] 이전 페이지로 이동하는 방법 [브라우저 히스토리, HTTP Referer, 스크립트릿]

    - 이전 페이지로 이동하는 방법JSP(JavaServer Pages)에서 이전 페이지로 이동하는 방법은 다양하다. 이전 페이지로 이동하는 방법은 브라우저의 히스토리를 이용하거나, 이전 페이지에서 제공한 링크나 버튼 등을 사용하여 이동할 수 있다.1. 브라우저의 히스토리를 이용한 이동 JavaScript를 사용하여 history.back() 메서드를 호출한다. 또는 태그에 onclick 이벤트 핸들러를 추가하여 이전 페이지로 이동할 수 있다.이전 페이지로2. 링크 또는 버튼을 사용한 이동 이전 페이지의 URL이 이미 알려져 있다면 해당 URL을 사용하여 링크를 만들 수 있다.이전 페이지로3. HTTP 리퍼러(Referer)를 사용한 이동 이전 페이지에서 현재 페이지로 이동할 때 HTTP 리퍼러 헤더를 이..

    [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')}"; 만약, 표현식으로..