본문 바로가기

taglib

(5)
Tag Library Function 이전 포스팅에 있던 2008/12/31 - [java] - Custom Tags in JSP Pages가 tomcat6에서 잘되던게 jeus5에서 실행되지 않는다. 질문을 올려도 답도 없고(짜증..) 그래서 이방식으로 바꾸었다. servlet spec 2.4인데 web.xml에 따로 설정해준것은 없다. java method는 static이어야 한다. java class package kr.co.test.common; import java.util.Calendar; import java.util.Date; public class TagFunctions { public static String stringShorten(String inputString, int limitLength) { if (inputSt..
Custom Tags in JSP Pages Custom tag는 Tag library 를 만들때처럼 복잡하지도 않고 jsp 를 이용해 만들수 있어 간편하다. Custom tag역시 jsp에 속해 같이 servlet화된다. view쪽에서의 공통된 부분을 tag화 시키는데 유용할 듯 하다. 다음예제는 날짜를 입력받아 현재날짜와의 차이를 구해 new 이미지를 표현해주는 로직을 tag화 시켜본것이다. 만들고 나서 생각하니 더 할일이 많지만 java method를 tld정의를 통해 function화 하는 것이 더 나아보인다. 다음은 sun에서 제공하는 tutorial페이지이다. http://java.sun.com/javaee/5/docs/tutorial/doc/bnalj.html /WEB-INF/tags/dc.tag = count){ isNew = tru..
Tomcat과 JEUS에서의 EL Tomcat 6.0에서는 잘 돌아가는 jsp파일이 jeus 5.0으로 옮겼더니 아래 문장 때문에 selected 다음과 같은 에러가 발생했습니다. java.lang.NumberFormatException: For input string: "B01" 그래서 jsp가 컴파일된 java파일의 위치를 찾아가 보니, _jspx_th_c_if_4.setTest(((java.lang.Boolean)jeus.servlet.jsp.el.JeusExpressionEvaluator.evaluate("${param.organization2 == 0}", java.lang.Boolean.class , pageContext.getVariableResolver(), null)).booleanValue()); 구문이 실행되고 있었습..
Jakarta String Tag Library Spring의 exceptionResolver 이용해서 예외처리를 하였다. 그럼 resolver에 의해 지정된 jsp가 호출되는데 그 jsp안에서 ${exceptionMessage.message} 이렇게 에러 정보를 표시할 수가 있다. 근데 문자값에 있는 캐리지리턴 \r, 라인피드 \n값을 태크로 표현할려고 하니 잘 안되었다. 인터넷 검색을 해본결과 JSTL function을 이용하면 된다는 것을 알수 있었다. Function의 간단한 설명은 http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSTL8.html#wp84687를 참조하면 된다. 다음은 중요한 부분의 소스들이다. pageContext.setAttribute("crlf", "\r\n"); pageContext..
JSP 표현식 언어(EL) 종합 Expression Language JSP 스펙 2.0 EL님에 의해 스크립팅에서 해방된 JSP라..............우하하.. 요즘 스프링을 하다보니.. JSTL을 자연스럽게 접하게 되면서 기억이 가물가물한걸 살리기 위해 정리함.. 잠안자고 뭔짓인지.. 출처 : Head First Servlets & JSP 핵심정리 ■ EL 표현식은 항상 중괄호로 묶고 앞에 달러($)기호를 붙입니다. ${표현식) 표현식에서 첫 번째 변수는 내장 객체거나 아니면 다음 4가지 생존범위에 속하는 속성입니다. (page, request, session, application) ■ 도트 연산자는 맵 키 이름이나 빈 프로퍼티 이름으로 값을 읽습니다. 예를 들어 ${foo.bar}에서 foo가 맵이라면 bar는 키가 될 것이며..