2012-06-30 1 views
0

구성 요소를 나타내는 JPS가 있습니다. JSP의 내용이 실행되기 전후에 이러한 컴포넌트 JSP가 일부 HTML을 작성하도록하고 싶습니다. 이 JSP/서블릿이 렌더링 될 때 component.jspJSP 출력 전후에 내용을 쓰는 방법

<@page session="false"> 
<%= "hello " + "world" %> 

, 나는 그것을 렌더링 할 :

<div class="component"> 
hello world 
</div> 

나는 다양한 "래퍼"를 만들 수 있도록하려면, 그리고에 따라 JSP에는 올바른 내용으로 JSP 내용이 포함됩니다. 래퍼를 변경/확대하려는 경우 한 곳에서만 수행하려고합니다 (구성 요소 100 개가 될 수 있음).

<으로 무엇인가 할 수 있나요? @page extends = "..."> 가능합니까?

감사

답변

0

는 이것을 끔찍한 생각이다. 스크립틀릿이있는 JSP는 1998 년 기술입니다. 아무도 더 이상 쓸 수 없습니다.

JSP를 작성해야한다면 JSTL과 SiteMesh 또는 Tiles를 사용하여 합성 페이지를 작성하는 것이 좋습니다.

더 나은 아이디어는 웹 앱과 함께 모바일 솔루션을 쉽게 실행할 수있는 방향으로 이동하는 것입니다. 서비스와 템플릿이 JSP보다 선호됩니다.

1

이름이 무엇입니까 : 태그 파일입니다. JSP 2.0에서 소개

이 접근법을 사용하면 jsp를 사용하여 JSP 태그를 작성할 수 있으므로 WEB-INF/tags이라는 폴더를 만들고이 폴더 내에 '일반'JSP를 작성해야합니다.

만들려는 태그는 다음 시작 명령 ( <%@tag description="tag description" %>)이 있어야 태그임을 나타냅니다. 그래서 <%@ taglib tagdir="/WEB-INF/tags" prefix="custom"%>

, 당신은 같은 것을 수행 할 수 있습니다 : myTag.tag에게/ WEB-INF/태그를


는 다음과 같은 명령으로 사용할 태그를 참조 할 필요가이 기능을 사용하려면

<%@tag description="hello tag" %> 
<%@attribute name="name" required="false" type="java.lang.String"%> 
<html><head></head><body> 
<h1>Hello <%=name%></h1> 
<jsp:doBody /> 
</body> 

index.jsp를


<%@ taglib tagdir="/WEB-INF/tags" prefix="custom"%> 
<custom:myTag name="My Name">this is the content</custom:myTag> 
,515,

결과 인쇄 페이지 것이다

<html><head></head><body> 
<h1>Hello My Name</h1> 
this is the content 
</body>