후 이런 사소한거 가지고 반나절을 날려 먹었네... 기억해두자..


GWT 로 프로젝트 진행 중 jsp에 EL 태그를 사용할 일이 있어서 썻더니 그대로 나온다. ㄷㄷ;;


뭐 여러 가지 원인이 있겠지만 나의 경우는 아래와 같이 해결했다.


GWT 개발 모드시 내부적으로 Jetty 를 사용 하는데 WAS 타는듯? -_-/


jsp 파일의 상단에 아래와 같이 추가해주자..


<%@ page isELIgnored="false" %>
tag: EL, JSP

댓글 (Comment)

Name*

Password*

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

JSTL Custom Tag using Spring Beans

Posted at 2013.12.01 17:37 | Posted in Java+/Example

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 파일 (소스 포함)


webapp.war


프로젝트 파일 (메이븐 구조)


webapp.zip




  1. 자바 서버 페이지 표준 태그 라이브러리(JavaServer Pages Standard Tag Library, 약칭 JSTL)은 Java EE 기반의 웹 애플리케이션 개발 플랫폼을 위한 컴포넌트 모음이다. [본문으로]

'Java+ > Example' 카테고리의 다른 글

LOGBack Configurator with JMX  (0) 2014.07.20
현지어로 언어명 보여주기  (0) 2014.02.09
2014년 도로명 주소 사용에 따른 우편번호 준비  (2) 2013.12.22
JSTL Custom Tag using Spring Beans  (0) 2013.12.01
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
tag: JSP, JSTL, Spring

댓글 (Comment)

Name*

Password*

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

아래와 같은 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 안의 경로를 직접 지정해줄 수 있으면 더 깔끔할텐데....


댓글 (Comment)

Name*

Password*

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

게시판 1.0

Posted at 2010.03.11 13:04 | Posted in Mini Project
2011.01.24 - 제목, 작성자에 html 태그 넣으면 이상하던거 수정 -_-

Introduction


http://antop.nerv.kr/board_v1/list.do

전에 php로 일할때는 게시판을 직접 만들어서 홈페이지를 만들었었는데

JAVA 로 갈아타면서 제대로된 게시판을 만들어보질 못했네요...

그래서 열심히 게시판을 하나 만들어 봤습니다.

아래의 기능들을 사용했습니다.

JSP Standard Tag Library (JSTL)
Strtus 1.3.10 (GA)
Hibernate 3.3.2 (GA)
json-taglib
json_parse.js
SWFUpload 2.2.0.1
SmartEditor Basic 0.3.17
Google Kaptcha 2.3
Lightbox JS 2.0

알고리즘은 반업데이트 방식을 사용했습니다.



알고있는 버그(에러) 몇개 있지만 차차 고치도록 하고.... 일단 개시!!!!!! ㄷㄷ;;

에러 많아 잡아주세용~






Version

1.0.0
 - 게시판 완성


1.5.0 (예정)
 - 다중 게시판으로 변경
 - 댓글(comment) 구현

2.0.0 (예정)
 - javascript 부분 jQuery로 교체
 - 게시판을 관리하는 관리자 구현
 - swfupload 개선

3.0.0 (예정)
 - jQuery를 이용한 풀 AJAX 구현



Table Structure





Flowchart

아주 아주 간략한 흐름을 그려봤습니다. 초큼 상세하게 할려고 했는데... 포기 ㅠ_ㅠ




'Mini Project' 카테고리의 다른 글

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
게시판 1.0  (1) 2010.03.11
비밀번호 생성기(Generate Password)  (1) 2010.02.10
Weather History API  (2) 2010.01.18
  1. 형진
    ㅋㅋㅋ 잘만들었다!!!!!

댓글 (Comment)

Name*

Password*

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

*.jsp 접근 막기

Posted at 2009.09.03 09:29 | Posted in Framework/Struts
struts 사용시 *.jsp 접근을 막기 위한 설정입니다.

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="......ID" ...... version="2.5">
    <display-name>many-to-many_mysql</display-name>
        <welcome-file-list>
            <welcome-file>index.html</welcome-file>
            ...
    </welcome-file-list>

    <!-- 웹으로 접속한 사용자가 JSP 파일로 직접 접근할 수 없게 한다. -->
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>PreventViewingJSPs</web-resource-name>
            <description>웹으로 접속한 사용자가 JSP파일로 직접 접근할 수 없도록 한다.</description>
            <url-pattern>*.jsp</url-pattern>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
        </web-resource-collection>
        <auth-constraint>
            <role-name></role-name>
        </auth-constraint>
    </security-constraint>

</web-app>


'Framework > Struts' 카테고리의 다른 글

*.jsp 접근 막기  (0) 2009.09.03
스트러츠(Struts) 기본 세팅  (6) 2009.06.22
Struts 파일 업로드  (2) 2009.05.05

댓글 (Comment)

Name*

Password*

Link (Your Website)

Comment

SECRET | 비밀글로 남기기