후 이런 사소한거 가지고 반나절을 날려 먹었네... 기억해두자..
GWT 로 프로젝트 진행 중 jsp에 EL 태그를 사용할 일이 있어서 썻더니 그대로 나온다. ㄷㄷ;;
뭐 여러 가지 원인이 있겠지만 나의 경우는 아래와 같이 해결했다.
GWT 개발 모드시 내부적으로 Jetty 를 사용 하는데 WAS 타는듯? -_-/
jsp 파일의 상단에 아래와 같이 추가해주자..
<%@ page isELIgnored="false" %>
후 이런 사소한거 가지고 반나절을 날려 먹었네... 기억해두자..
GWT 로 프로젝트 진행 중 jsp에 EL 태그를 사용할 일이 있어서 썻더니 그대로 나온다. ㄷㄷ;;
뭐 여러 가지 원인이 있겠지만 나의 경우는 아래와 같이 해결했다.
GWT 개발 모드시 내부적으로 Jetty 를 사용 하는데 WAS 타는듯? -_-/
jsp 파일의 상단에 아래와 같이 추가해주자..
<%@ page isELIgnored="false" %>
Introduction
JSTL 태그를 만들어 사용할 때에 스프링 빈을 가져다 쓰는 방법이다. 1
Using Spring Beans
너무나도 간단하다.
일반적으로 TagSupport 클래스를 상속 받아서 구현 하면 되는데, 스프링 빈을 사용하고 싶으면 RequestContextAwareTag 클래스를 상속 받아서 구현하면 된다.
사용법은 아래와 같다.
import org.springframework.web.context.WebApplicationContext; import org.springframework.web.servlet.tags.RequestContextAwareTag; public class XXXTag extends RequestContextAwareTag { @Override protected int doStartTagInternal() throws Exception { // WebApplicationContext 를 얻는다. WebApplicationContext ctx = getRequestContext().getWebApplicationContext(); // 빈을 가져와서 처리 return SKIP_BODY; } }
Example Source
WAR 파일 (소스 포함)
프로젝트 파일 (메이븐 구조)
LOGBack Configurator with JMX (0) | 2014.07.20 |
---|---|
현지어로 언어명 보여주기 (0) | 2014.02.09 |
2014년 도로명 주소 사용에 따른 우편번호 준비 (2) | 2013.12.22 |
Spring Message Source from Database (1) | 2013.03.03 |
Infinite Routing DataSource (1) | 2013.01.13 |
Mybatis Type Handler (1) | 2012.09.30 |
Using AUTO_INCREMENT keys (0) | 2011.03.01 |
아래와 같은 jsp 소스가 있습니다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>taglib</title>
</head>
<body>
</body>
</html>
네... 스프링 커스텀 태그를 사용하려고 합니다.
이 페이지를 불르면 톰켓 7에서는 아래와 같은 로그가 출력되고 정상적으로 작동됩니다. (다른 WAS는 모르겠슴 -_-/)
정보: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
뭐... 알아서 TLD 파일 찾았다는 거죠 ㄷㄷ;;;
하지만 웹로직 환경에서 페이지를 불르면 에러가 나게 됩니다.
index.jsp:2:5: No tag library could be found with this URI. Possible causes could be that the URI is incorrect, or that there were errors during parsing of the .tld file.
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
^----^
이런 경우 tld 파일을 추출해서 적당한 곳에 넣은 후 web.xml 에 등록을 해줘야 합니다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="taglib" version="2.5">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- 여기 -->
<jsp-config>
<taglib>
<taglib-uri>http://www.springframework.org/tags/form</taglib-uri>
<taglib-location>/WEB-INF/tlds/spring-form.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>
꼭 웹로직 환경이 아니라도 tld 를 찾지 못한다고 하면 web.xml 에 위와 같이 추가해 주면 됩니다.
<taglib-location> 값에 jar 안의 경로를 직접 지정해줄 수 있으면 더 깔끔할텐데....
Proftpd Manager (0) | 2012.12.10 |
---|---|
게시판 2.0 (5) | 2011.07.27 |
Sudoku (0) | 2011.06.09 |
간단한 JAVA 실행기(?) (1) | 2011.03.21 |
Forecast Repository (8) | 2010.11.30 |
Sales History API (2) | 2010.05.27 |
Order Entry API (0) | 2010.05.13 |
Human Resources API (0) | 2010.05.10 |
비밀번호 생성기(Generate Password) (1) | 2010.02.10 |
Weather History API (2) | 2010.01.18 |
스트러츠(Struts) 기본 세팅 (6) | 2009.06.22 |
---|---|
Struts 파일 업로드 (2) | 2009.05.05 |