error 1.
문제 | Integer로 정의된 Map 이 연산식으로 만들어진 숫자키를 읽지 못함 cannot get Map Integer key's value |
검색 | |
해결 | taglib 로 Integer 로 형변환하는 태그 생성해서 호출함 정상 확인 |
커스텀 테그 라이브러리 생성
1. taglibs 프로젝트에 등록
- pom.xml taglibs-standard-impl 추가.
- maven Reload project
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.5</version>
</dependency>
2. 동작할 메소드 생성
- static으로 생성, 내부에 static 선언의 필요할수 있으니 주의할것.
public class MimimiTagLibHandler extends SimpleTagSupport {
public static Integer integerValueOf(int number){
return new Integer(number);
}
}
3. jsp에서 호출할수있게 설정
- /WEB-INF/임의 폴더/XXXX.tld 추가.
- show-name <c: 부분 <mimimi:
- uri : jsp taglib 선언시 주소 와 맵핑
- function-class : 클래스 정보, function-signature : 메소드 정보
<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd ">
<description>mimimi tag library</description>
<tlib-version>1.0</tlib-version>
<short-name>mimimi</short-name>
<uri>/WEB-INF/taglib/mimimi-taglib.tld</uri>
<function>
<name>integerValueOf</name>
<function-class>com.web.team.handler.MimimiTagLibHandler</function-class>
<function-signature>java.lang.Integer integerValueOf(int)</function-signature>
</function>
</taglib>
4. jsp 호출 사용
<%@ taglib prefix="mimimi" uri="/WEB-INF/taglib/mimimi-taglib.tld" %>
${mimimi:integerValueOf(bibleOn.chapterNo-1)}
'JAVA' 카테고리의 다른 글
카페24 jsp 호스팅 (0) | 2022.07.26 |
---|---|
VelocityEngine (0) | 2022.02.19 |
Java 프로그래밍 언어의 코드 규칙, java 표준 코딩 (0) | 2021.12.16 |
[1028web annotation] 어노테이션 (0) | 2021.08.29 |