MarkupContainer
işaretlemesini dinamik olarak oluşturmak mümkün mü, bunun için bir HTML dosyası saklamaksızın mı?Wicket'de dinamik işaretleme
Biçimlendirmeyi CMS benzeri işlevler sunmak için veritabanından düz bir dize olarak okumayı düşündüm.
MarkupContainer
işaretlemesini dinamik olarak oluşturmak mümkün mü, bunun için bir HTML dosyası saklamaksızın mı?Wicket'de dinamik işaretleme
Biçimlendirmeyi CMS benzeri işlevler sunmak için veritabanından düz bir dize olarak okumayı düşündüm.
İlginç bir soru ve mümkün olup olmadığından emin değilim, ama benim tahminim, IMarkupLoader ve IMarkupResourceStreamProvider arabirimlerine bakmak ve sınıfları uygulamaktan ve oradan ne kadar uzakta olduğunuzu görmeye başlamak olacaktır.
Bunu gerçekten yapan bir şey bulursanız ilgilenirim!
İpucu için teşekkürler. Bu yaptı! MarkupContainer, IMarkupResourceStreamProvider öğesini ve getMarkupResourceStream() yöntemini uygulamalıdır. Ayrıca, (örneğin) AbstractResourceStream'den türeyen bir sınıf oluşturursunuz. Orada, bir 'InputStream' döndüren bir yöntem uygulayabilirsiniz. 'getMarkupResourceStream()' daha sonra bu yeni sınıfın bir örneğini döndürür. javadoc, bunun önbelleğe alma işleminin bile şeffaf olduğunu söylüyor. – Wolfgang
Bu, [17.5 Koddan HTML biçimlendirmesi oluşturma] altındaki başvuru kılavuzunda belgelenmiştir (http://wicket.apache.org/guide/guide/advanced.html#advanced_5). – aioobe
devre dışı işaretleme kaçması ile bir etiket kullanmak olacaktır yapmanın diğer bir (daha basit) yolu: Bu güvenlik ihlallerine (HTML/JS enjeksiyon) yol açabilecek şekilde
Label<String> label = new Label<String>("id", "<a href='....'><span>foo<em>bar</em></span></a>");
label.setEscapeModelStrings(false);
add(label);
olsa dikkatli olun.
Fikriniz için teşekkür ederiz. Yine de aradığım şeyden emin değilim. Bir MarkupContainer tarafından kullanılacak olan dinamik işaretlemeyi kullanmak istiyorum, yani işaretlemede bazı küçük harf: ids bekliyorum ve daha sonra bu bileşenlere eşlenecek olan konteynere daha fazla bileşen eklemek istiyorum. Korkarım ki bu senin çözümünle mümkün değil. – Wolfgang
Yup, haklısın, benim kötü. – Jawher
Bu, güvenlik ihlalleri göz önüne alındığında, aynı zamanda düz HTML görüntülemek için bir Etiket'in kötüye kullanılması düşünüldüğünde gerçekten kötü bir fikirdir. – RobAu
Harika! Bunu JTexy hafif işaretleme dili ile kullanacağım (http://code.google.com/p/jtexy/). –