JSP
-
[JSP] iframe 부모창 새로고침 및 링크타기2019.10.23
[JSTL] "value" does not support runtime expressions 원인과 해결
잘못된 예
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%> X
<fmt:formatNumber type="number" maxFractionDigits="2" value="${maxAllowableAmount}" />
올바른 예
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> O
<fmt:formatNumber type="number" maxFractionDigits="2" value="${maxAllowableAmount}" />
예시 출처 : stackoverrun.com
"value" does not support runtime expressions 메시지에 대한 70% 이상의 원인은
위에 태그라이브러리의 표기를 잘못 작성해서 그렇습니다.
위에 태그라이브러리(taglib)를 확인해주세요.
JSP - taglib 종류와 설명
'JSP' 카테고리의 다른 글
[JSTL] 태그 라이브러리 인터넷 필요 여부(Feat.taglib,uri,prefix) (0) | 2019.11.04 |
---|---|
[JSP] iframe 부모창 새로고침 및 링크타기 (0) | 2019.10.23 |
[JSTL] 태그 라이브러리 인터넷 필요 여부(Feat.taglib,uri,prefix)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
JSTL 태그 라이브러리 설정 코드
결론부터 말하자면 인터넷 없이도 사용 가능합니다.
uri
여기서 말하는 uri는 *CDN 방식처럼 그 인터넷 주소로 찾아가 라이브러리를 얻어오는 것이 아니고,
JSTL 라이브러리에서 지원되는 기능을 태그별로 구분해주는 구분자이다.
JSTL 라이브러리에 존재하는 주소(?)를 찾아간다고 생각하면 된다.
외부에서 돌아다니는게 아니고, 내부 라이브러리에서 찾아댕김
jsp page 에서는 uri 에 입력된 값을 통해 태그라이브러리를 식별하여 해당 라이브러리로 찾아가기 때문에
정확히 입력해주어야 한다.
라이브러리 |
uri |
코어 |
|
XML |
|
국제화 |
|
데이터베이스 |
|
함수 |
*CDN : CDN(Contents Delivery Network)은 지리적 물리적으로 떨어져 있는 사용자에게 컨텐츠 제공자의 컨텐츠를 더 빠르게 제공할 수 있는 기술.
느린 응답속도 / 다운로딩 타임 을 극복하기 위한 기술.
prefix
만약 코어(core) 라이브러리를 쓴다고 가정하자.
prefix는 여기서 꼭 c 일 필요는 없다.
즉, 다른 문자를 해줘도 된다.
문법 예시
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:if test="true"></c:if>
<%@ taglib prefix="cw" uri="http://java.sun.com/jsp/jstl/core" %>
<cw:if test="true"></cw:if>
이런식으로 변경해도 정상 작동한다.
식겁했던 사례
얼마전 한 사이트에서 엄!청!난! 렉이 발생했다.
문제는 *CDN 방식이였다. 왜냐하면 납품 사이트가 내부 인터넷 환경이였기 때문이다.
외부로 나가 정보를 받아와야하는데 그것이 안돼서 진짜 끔찍한 렉을 발생시켰다
중요한 건 아예 못받아와야 정상아닌가… 정말 느리지만 돼긴 됬다.
나머지 코드들도 *CDN 방식이 있나 확인 하던 도중.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c-rt" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt-rt" %>
눈에 띈 JSTL taglib 방식 JSTL도 다 걷어내야 하는줄 알고 정말 식겁했다.
바로 인터넷에 구글링 겁나했는데 나오질 않는다….내부 인터넷 환경이 별로없는것인가..
해서 직접 실험해봤다 결과는 아주 잘 됩니다.
정리
JSTL 태그 라이브러리 인터넷 없이도 사용 가능합니다.
'JSP' 카테고리의 다른 글
[JSTL] "value" does not support runtime expressions 원인과 해결 (2) | 2020.07.01 |
---|---|
[JSP] iframe 부모창 새로고침 및 링크타기 (0) | 2019.10.23 |
[JSP] iframe 부모창 새로고침 및 링크타기
iframe 페이지에 그냥 location.reload()를 하게되면 해당 iframe 안에만 새로고침 된다.(링크도 마찬가지 그안에서 페이지가 변경됨)
iframe 전체 페이지를 새로고침 하거나 링크하고 싶다면
location 부모 iframe 새로고침
window.parent.location.reload();
location 부모 iframe 링크
window.parent.location.href="link";
'JSP' 카테고리의 다른 글
[JSTL] "value" does not support runtime expressions 원인과 해결 (2) | 2020.07.01 |
---|---|
[JSTL] 태그 라이브러리 인터넷 필요 여부(Feat.taglib,uri,prefix) (0) | 2019.11.04 |