자바 사용자 정의 탭 사용법 실례 분석

4486 단어
이 실례 는 자바 사용자 정의 라벨 사용법 을 설명 한다.여러분 께 참고 하도록 공유 하 겠 습 니 다. 구체 적 으로 는 다음 과 같 습 니 다.
간단 한 예
하나의 탭 을 실현 하 는 것 은 두 단계 로 나 뉜 다. (1) Simple TagSupport 나 TagSupport 를 계승 하여 컨트롤 러 (2) 를 만 들 고 탭 을 설명 하 는 td 파일 을 만 듭 니 다.다음은 간단 한 예 이다.
(1) 탭 컨트롤 러 를 구현 하여 페이지 에 "hello"를 출력 합 니 다.

public class Test extends SimpleTagSupport{
 public void doTag() throws IOException{
  JspWriter out = getJspContext().getOut();
  out.write("hello");
 }
}


(2) WEB - INF 폴 더 아래 custom. tld 파일 만 들 기:



 1.0
 2.0
 my
 
 
  Hello
  com.huanle.utils.tags.Test
  empty
 



위 코드 는 탭 을 통 해 사용자 정의 탭 을 설명 합 니 다. empty 는 탭 이 없 음 을 표시 합 니 다. 즉, 탭 을 시작 하고 끝 나 는 탭 사이 에 내용 이 없습니다.
jsp 파일 에서 이 탭 을 사용 할 수 있 습 니 다. (명령 으로 탭 라 이브 러 리 가 져 오기):





  


 


SimpleTagSupport 정의 간단 한 탭 계승
Simple TagSupport 를 계승 하여 doTag () 방법 을 실현 하면 탭 을 사용자 정의 할 수 있 습 니 다.여기 에는 Simple TagSupport 를 계승 하 는 방식 에 대해 매우 투철 하고 알 기 쉬 우 며 본 사이트 에서 링크 를 다운로드 합 니 다.
다음은 몇 가지 예 이다.
태그 속성 정의
(1) 우선 컨트롤 러 에 속성 을 추가 하고 setter 방법 을 생 성 합 니 다.

public class Test extends SimpleTagSupport{
 private String name;
 public void doTag() throws IOException{
  JspWriter out= getJspContext().getOut();
  out.write("hello");
 }
 public void setName(String name) {
  this.name = name;
 }
}


(2) tled 파일 에 이 속성 에 대한 설명 을 추가 하고 태그 로:


  Hello
  com.huanle.utils.tags.Test
  empty
  
   name
  

탭 에 여러 개의 키 탭 이 있 습 니 다. 이 속성의 제한 을 정의 할 수 있 습 니 다.
명칭.
쓸모
name
정의 속성 명
required
이 속성 이 필요 한 지 여 부 를 정의 합 니 다. 기본 값 은 false 입 니 다.
rtexprvalue
실행 중인 표현 식 의 값 을 이 속성의 값 으로 사용 할 수 있 는 지 여 부 를 정의 합 니 다. 기본 값 은 false 입 니 다.예 를 들 어 EL 표현 식 을 지원 하려 면 이 속성 을 true 로 설정 해 야 합 니 다.
type
속성의 값 형식 을 정의 합 니 다. 기본 값 은 String 입 니 다.
fragment
이 변 수 를 JspFragment 로 봐 야 하 는 지 여 부 를 설명 합 니 다.
정의 탭
이전에 정 의 된 탭 은 항상 비어 있 습 니 다. 탭 을 지원 하려 면:
(1) tled 파일 의 값 을 scriptless 로 수정 하여 태그 가 있 음 을 표시 하고 태그 체 는 스 크 립 트 가 포함 되 어 있 지 않 습 니 다 (jsp 스 크 립 트, EL 표현 식 등 을 말 합 니 다)


 
  Hello
  com.huanle.utils.tags.Test
  scriptless
 


(2) 탭 컨트롤 러 에서 탭 을 가 져 오고 출력 합 니 다.

public class Test extends SimpleTagSupport {
 private StringWriter sw = new StringWriter();
 public void doTag() throws JspException, IOException{
  getJspBody().invoke(sw);    
  getJspContext().getOut().write(sw.toString().trim().substring(0, length));
 }
}

사용 시 탭 을 포함 할 수 있 습 니 다:

hello


TagSupport 를 계승 하여 더 복잡 한 탭 을 만 듭 니 다. (뒤에 업 데 이 트 됩 니 다...)
탭 내부 에 request 사용 하기
라벨 은 실제 적 으로 하나의 Servlet 로 전환 되 고 모든 Servlet 이 할 수 있 는 라벨 은 할 수 있 습 니 다. 조작 request, session 등 을 포함 하 는데 그 중에서 관건 은 getJspContext() 방법 에 있 습 니 다.코드 는 다음 과 같 습 니 다:

public class DispalyErrorMessageTag extends SimpleTagSupport {
 public void doTag() throws IOException{
  JspWriter out = getJspContext().getOut();
  PageContext pageContext = (PageContext)getJspContext();
  HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
  String value = request.getParameter(param);
  ...
 }
}


자바 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,,,
본 고 에서 말 한 것 이 여러분 의 자바 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기