'JSP include Direktifi ile dosyaları da dahil olmak üzere arasındaki fark ne, JSP eylem ve kullanarak JSP Tag Dosyaları vardır?
JSP şablon için iki yöntem vardır gibi görünüyor. Bu deyimleri ile dosyaları da dahil olmak üzere
<%@ include file="foo.html" %>
<jsp:include page="foo.html" />
ya da JSP tag kullanarak dosyaları
// Save this as mytag.tag
<%@ tag description="Description" pageEncoding="UTF-8"%>
<html>
<head>
</head>
<body>
<jsp:doBody/>
</body>
</html>
Ve başka bir JSP sayfası ile çağrı
<%@ taglib prefix="t" tagdir="/WEB-INF/tags" %>
<t:mytag>
<h1>Hello World</h1>
</t:mytag>
Hangi yöntemi kullanmalıyım? Artık itiraz kabul edilir ve farklı durumlarda kullanmak için her ikisi de geçerli kapağı?
Edit
Bu etiketi kullanarak vardır kullanarak aynı dosya değil mi?
// Save this as product.tag
<%@ tag description="Product templage" pageEncoding="UTF-8"%>
<%@ tag import="com.myapp.Product" %>
<%@ attribute name="product" required="true" type="com.myapp.Product"%>
Product name: ${product.name} <br/>
Quantity: ${product.quantity} <br/>
Ve başka bir JSP üzerinde arayın
<%@ taglib prefix="t" tagdir="/WEB-INF/tags" %>
<t:product>
<c:forEach items="${cart.products}" var="product">
<t:product product="${product}"/>
</c:forEach>
</t:product>
Bana bir bulunur kullanarak ve parametre geçirme olarak aynı gibi görünüyor. Yani Etiket Dosyalarını içeren aynıdır?
CEVAP
JSP sayfasında yeniden içerik için birkaç mekanizma vardır.
AşağıdakiJSP içerik eklemek için 4 mekanizmalarıkategorize edilebilirdoğrudan yeniden:
(ilk 3 mekanizmaları "Head First Servlets and JSP" ' dan alıntı)
1) Bu yönerge vardır:
<%@ include file="header.html" %>
Statikgeçerli sayfa için bir dosya öznitelik değeri içeriğini eklerçeviri zaman. Direktif oldu aslında statik düzen şablonları, HTML gibi başlıklar için tasarlanmıştır.
2)
<jsp:include>
standart eylem:<jsp:include page="header.jsp" />
Dinamik: geçerli sayfa için sayfa öznitelik değeri içeriğini eklerzaman istemek. Daha dinamik tasarlanmıştır içerik JSP geliyor.
3)
<c:import>
Etiket JSTL:<c:import url=”http://www.example.com/foo/bar.html” />
Dinamik: URL değeri içeriği geçerli sayfa için öznitelik eklerzaman istemek. Bir çok şey gibi çalışır Aksine
<jsp:include>
ama daha güçlü ve esnek: diğer iki içerir,<c:import>
url dışarıdan olabilir web Kap!4) Prelüd ve codas:
Statik: Prelüd ve codassadece sayfaları başlangıcı ve sonu için uygulanabilir.
Örtülü olarak ekleyebilirsinizPrelüd(ayrıca başlıkları denir) vecodas (altbilgi) ekleyerek JSP sayfaları bir grup için<include-prelude>
<include-coda>
sırasıyla unsurlar Web uygulama<jsp-property-group>
bir elementweb.xmldağıtım tanımlayıcısı. Devamı burada:
• Configuring Implicit Includes at the Beginning and End of JSPs
• Defining implicit includes
Dosya Etiketibirdolaylı yöntemiçerik yeniden, bir şekildeyeniden kullanılabilir içerik şifrelenmiş. BirDosya Etiketibir kaynak olarak yeniden kullanılabilir olduğunu JSP kod parçası içeren dosyadırözel etiket.
İçerir ve Etiket Dosyaları AMACI farklıdır.
Tag file (bir kavram JSP 2.0 ile tanıştırdı) seçeneklerden biriözel etiketler oluşturmak için. İnşa etmek için daha hızlı ve daha kolay bir yolözel etiketler. Custom tags de etiketi uzantıları olarak bilinen, özel mantık ve çıkış diğer Java bileşenleri tarafından sağlanan JSP sayfaları eklenecek izin JSP unsurlardır. Mantığı özel bir etiket yoluyla sağlanan Java bir nesne olarak uygulanıretiket işleyicisi.
Özel etiketler ile gerçekleştirilebilecek görevleri bazı örnekler örtük nesneler üzerinde çalışma, e-posta ve dizin gibi formlar, erişim veritabanları ve diğer Kurumsal Hizmetler, işleme ve akış kontrol uygulanması yer alıyor.
Düzenle ilgili
Örnek (senin . belki ^em>Edit), kullanma arasındaki fark doğrudan ve Etiketi vardır Dosya yok. Amaözel etiketler özellikleri zengin bir set var. Olabilir
Öznitelikleri arama sayfasından geçti yoluyla özelleştirilebilir.
Değişkenleri çağıran sayfaya geçelim.
Tüm nesneleri JSP sayfaları bulunmaktadır.
Birbirleriyle iletişim kurarlar. Ve JavaBeans bileşen oluşturmak başlatmak, bir etiket o fasulye için başvuran kamu EL bir değişken oluşturmak ve başka bir etiket olarak fasulyeyi kullanabilirsiniz.
İç içe olmak ve özel değişkenler aracılığıyla iletişim kurar.
Ayrıca bu okuma "JSP 2 Pro": Understanding JSP Custom Tags.
Yararlı olacak bir kitap.
Difference between include directive and include action in JSP
Çok bilgilendirici ve anlaşılması kolay rehberdecoreservlet.comgüzel *23 içeren açıklamalar* karşılaştırma tablosu:
Including Files and Applets in JSP PagesBaşka bir güzel öğreticicoreservlets.cometiket kitaplıkları ve ilgili tag dosyaları:
Creating Custom JSP Tag Libraries: The BasicsResmi Java örneklerle: 5 Öğretici EE
Encapsulating Reusable Content Using Tag Files.Resmi Java EE 5 öğretici Bu sayfa bile vermeli daha fazla anlayış:
Reusing Content in JSP Pages.Kitaptan bu alıntı, "JSP 2 Pro" da tartışmaktadırneden ihtiyacın var statik yerine Dosya Etiketi vardır:
Reusing Content with Tag Files
Sonuç
Beton görev için doğru aletler kullanın.
KullanınTag Dosyalarıoluşturma hızlı ve kolay bir yol olaraközel etiketler.
JSP de dahil olmak üzere içerik (here ' dan alıntı):
Kullanım yönergesi vardıreğer dosya nadiren değiştirir. En hızlı mekanizma. Eğer konteyner otomatik olarak algılamaz ise ... değişiklikler, değişiklikler ana silerek etkili olması için zorlayabilir sayfa sınıf dosyası.
Eylem dahil kullanınAna Sayfa kadar karar verilemez dahil olan sadece bu değişiklikler genellikle içerik için, ve eğer istedi.
Tüm yerel değişiklikler, sürüm bilgisi...
LİNUX dizinleri Özyinelemeli olarak se...
Setup.py olmayan Python dosyaları da d...
Birden fazla js dosyaları jQuery kulla...
Django statik dosyalar ve medya dosyal...