프로그래밍 54

JSP/Servlet – 태그 클래스를 이용해서 변수 지원 커스텀 액션 만들기

JSP/Servlet- 태그 클래스를 이용해서 변수 지원 커스텀 액션 만들기 태그 클래스를 이용해서 변수를 리턴하고 싶다면 JspContext 객체의 setAttribute 메소드를 이용하면됩니다. JspContext context = getJspContext(); context.setAttribute("변수이름", "값"); 위와 같이 예제를 구성해줍니다. MinimumTag.java package tool; import java.io.IOException; import javax.servlet.jsp.JspContext; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.SimpleTagSupport; public class..

JSP/Servlet – 태그 클래스를 이용해서 커스텀 액션의 본체 내용을 바꿔보자

JSP/Servlet – 태그 클래스를 이용해서 커스텀 액션의 본체 내용을 바꿔보자 이번에는 getJspBody()메소드를 이용해서 커스텀 액션의 본체를 가져온 다음 내용을 바꿔서 출력을 해봅시다. JspFragment body = getJspBody();//커스텀 액션의 본체를 가져옵니다. 다음 StringWriter 클래스를 선언합니다. StringReader 클래스와 StringWriter 클래스는 문자열을 스트림에 기록하거나 읽어낼 때 사용하는 클래스입니다. 즉 목표지점이 string형의 데이터가 되는 것입니다. (스트림에 대한 내용 소설같은 자바9 자바스트림 참조) StringWriter writer = new StringWriter();//객체 생성 body.invoke(write);//본체의..

JSP/Servlet – 동적 애트리뷰트를 지원하는 태그 클래스 만들기

JSP/Servlet – 동적 애트리뷰트를 지원하는 태그 클래스 만들기 동적 애트리뷰트를 지원하는 태그 클래스를 만들기 위해서는 각각의 애트리뷰트에 대한 set 메소드를 선언할 필요는 없고 setDynamicAttribute메소드 하나만 선언하면 됩니다. @Override public void setDynamicAttribute(String uri, String localName, Object value) throws JspException { } uri는 네임스페이스를 말하며 보통 무시하셔도 좋습니다. localName은 애트리뷰트 이름, value는 애트리뷰트의 값을 의미합니다. 동적 애트리뷰트를 지원하는 태그 클래스의 경우 TLD 파일에 엘리먼트가 필요가 없으며 라는 엘리먼트를 쓰고 그 엘리먼트의 ..

JSP/Servlet – 태그클래스를 이용해서 애트리뷰트가 있는 커스텀 액션 만들기

JSP/Servlet – 태그클래스를 이용해서 애트리뷰트가 있는 커스텀 액션 만들기 태그클래스를 이용해서 애트리뷰트 값을 받으려면 메소드를 따로 선언해야 합니다. 반드시 public으로 선언 맨 앞에 set을 붙이고 애트리뷰트 이름의 첫문자를 대문자로 파라미터 변수를 선언 public void setSize(Integer size){ } 먼저 classes 폴더를 만들고 그 안에 tool 폴더를 만듭니다. 그 다음 태그클래스를 구현하기 위한 NewLineTag.java 파일을 만듭니다. 그리고 TLD파일을 만들어서 커스텀 액션을 등록합니다. web.xml파일에는 TLD파일의 URI와 경로를 명시해줍니다. 마지막으로 TagTest.jsp파일을 만들어서 커스텀 액션을 테스트합니다. NewLineTag.jav..

JSP/Servlet – SimpleTagSupport 클래스를 이용해서 태그 클래스 작성하기

JSP/Servlet – SimpleTagSupport 클래스를 이용해서 태그 클래스 작성하기 SimpleTagSupport 클래스는 태그 클래스라고 해서 커스텀 액션을 만드는데 사용됩니다. 서블릿 대신 JSP로 구현하듯이 태그 파일 대신에 태그 클래스로 작성할 수 있습니다. SimpleTagSupport 클래스를 이용해서 태그 클래스를 만들때 작성해야하는 메소드는 doTag 메소드 하나뿐 입니다. doTag 클래스를 작성할 때는 public으로 선언해야합니다. 파라미터가 없어야합니다. JspException, IOException을 던져야합니다. 이 3가지를 반드시 지켜야 합니다. 태그 클래스안에서 출력을 위해서는 getJspContext 메소드를 호출해서 JspContext 객체를 가져옵니다. 그 다..

JSP/Servlet – 커스텀 액션에 변수를 사용해보자

JSP/Servlet – 커스텀 액션에 변수를 사용해보자 커스텀 액션에 변수를 선언하려면 variable 지시자를 사용해야 합니다. 이렇게 선언한 변수는 기본적으로 String 타입이 됩니다. 변수의 타입을 설정할 때는 variable-class라는 애트리뷰트를 추가하면 됩니다. 선언한 변수를 태그파일내 뿐만 아니라 커스텀 액션의 본체 밖에서 사용하고자 한다면 scope 애트리뷰트를 추가하면 됩니다. 사용 범위는 NESTED, AT_BEGIN, AT_END 중에 한 값을 지정할 수 있습니다. NESTED는 커스텀 액션 본체 안에서만 사용할 수 있고 AT_BEGIN은 커스텀 액션의 시작 태그 다음부터, AT_END는 커스텀 액션의 끝 태그 다음부터 사용할 수 있습니다. variable 지시자를 이용해서 변..

JSP/Servlet – 커스텀 액션에 body를 추가해보자

JSP/Servlet – 커스텀 액션에 body를 추가해보자 body가 있는 커스텀 액션을 만들기 위해서는 태그 파일의 tag 지시자의 body-content 애트리뷰트에 empty 대신 scriptless나 tagdependent를 써야합니다. scriptless는 커스텀 액션의 본체에 스크립틀릿()를 쓸 수 없음을 의미합니다. tagdependent는 커스텀 액션의 본체에 스크립틀릿, 익스프레션 언어가 그대로 본체의 일부로 출력됩니다. 그리고 태그파일에 액션을 사용하면 본체의 내용이 그대로 출력됩니다. /WEB-INF/tags 폴더에 box.tag 태그파일을 만들어야 합니다. box.tag Notice.jsp DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transiti..

JSP/Servlet – 동적 애트리뷰트를 지원하는 태그 파일 만들기

JSP/Servlet – 동적 애트리뷰트를 지원하는 태그 파일 만들기 2016/02/18 - [프로그래밍/JSP/Servlet] - JSP/Servlet – 애트리뷰트를 지원하는 태그 파일 만들기 2016/02/14 - [프로그래밍/JSP/Servlet] - JSP/Servlet – 태그 파일을 이용해서 커스텀 액션 만드는 방법 이전 예제에서는 attribute지시자를 이용해서 모든 애트리뷰트를 정의했습니다. 이번에는 커스텀 액션을 dynamic-attributes 지시자를 이용해서 만들어봅시다. 이 지시자를 사용하며 다음과 같이 애트리뷰트 값을 가져올 수 있습니다. ${동적 애트리뷰트 이름.사용 애트리뷰트 이름} 동적 애트리뷰트는 먼저 태그 파일에서 page 영역의 데이터를 가져와야 합니다. 이때는 M..

JSP/Servlet – 애트리뷰트를 지원하는 태그 파일 만들기

JSP/Servlet – 애트리뷰트를 지원하는 태그 파일 만들기 2016/02/14 - [프로그래밍/JSP/Servlet] - JSP/Servlet – 태그 파일을 이용해서 커스텀 액션 만드는 방법 위처럼 애트리뷰트를 가지는 커스텀액션을 만들기 위해서는 attribute 지시자를 사용해야 합니다. 태그파일로 전달된 애트리뷰트는 다음과 같이 사용합니다. or ${애트리뷰트 이름 } type 애트리뷰트를 통해서 거기에 원하는 데이터 타입을 지정할 수 있습니다. WEB-INF폴더 아래에 tags라는 폴더를 만들고 태그파일을 생성합니다. newLine.tag TagTest.jsp DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w..

JSP/Servlet – 태그 파일을 이용해서 커스텀 액션 만드는 방법

JSP/Servlet – 태그 파일을 이용해서 커스텀 액션 만드는 방법 태그 파일을 이용해서 커스텀 액션을 만들어봅시다. 위와 같이 WEB-INF 폴더아래 tag라는 폴더를 만든 후 line.tag 파일을 만듭니다. line.tag ------------------------------------- body-content 애트리뷰트를 empty로 지정하면 다음과 같은 커스텀액션을 사용하면 에러가 발생합니다. 내용 즉 으로 작성해야 정상 처리됩니다. 작성한 커스텀 액션을 사용하기 위해서 다음의 jsp파일을 작성해 봅시다. 여기서 유의할 점은 기존의 커스텀 액션은 처럼 uri를 작성했다면 여기서는 tagdir 애트리뷰트를 작성합니다. TagTest.jsp DOCTYPE html PUBLIC "-//W3C//..

반응형