2011-12-08 12 views
5

JSP 2.0 ile JSF 1.2 ortamında özel bir etiket yapmaya çalışıyorum. Nihayetinde bir java nesnesini EL ile bir öznitelik olarak geçirmeye çalışıyorum, ama bir "org.apache.jasper.JasperException: jsp.error.beans.property.conversion" istisnası alıyordum. Bu yüzden bir adım geri çektim ve işe yaraması için basit bir özel etiket almaya çalıştım. Merhaba dünyayı basmakta başarılı oldum. Daha sonra basit bir String özniteliğini geçmeye çalıştım ve bunu yazdırdım. Bu çalışma değildi. Özellik ekrana yazdırılmayacaktı. Statik "merhaba dünya" metni sadece özniteliği değil.JSF 1.2 JSP 2.0 Özniteliklere Sahip Basit Özel Etiket Dosyası

WEB-INF/etiketler/helloworld.tag:

<?xml version="1.0" encoding="UTF-8"?> 
<jsp:root version="2.0" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:ui="http://www.sun.com/web/ui" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"> 
    <jsp:directive.attribute name="message" required="true"/> 
    <ui:staticText id="asdf" text="hello world: #{message}"/> 
</jsp:root> 

MyBean.jsp sonra etiketi ad tanımlar: xmlns: etiketlerini = "urn: jsptagdir:/WEB-INF/etiketleri" o zaman ve çağrıları gibi etiket:

<tags:helloworld message="Test message"/> 

Savaş dosyasını dağıtmak için jboss 4.0.4 kullanıyorum.

+1

@Sam: Eğer bu konuda bir ödül koydu ama bu iş parçacığı kesinlikle olumlu mısın bu iyi ** tam olarak ** OP ile aynı sorun nedir? OP'in snippet'inde xmlns: ui = "http://www.sun.com/web/ui" ', garip [Woodstock] (http://stackoverflow.com/tags/woodstock/info) bileşenini kullandığını gösterir. yaşları önce ölen kütüphane. Bu benim için (ve büyük olasılıkla diğerleri de) benim için hiçbir şey bilmediğim için bu soruyu görmezden gelmemin sebebiydi. – BalusC

+0

@BalusC, Ah, Muhtemelen farklı bir problemim var. –

+0

Bu ileti özniteliğini farklı şekillerde göstermeye çalıştınız ve işe yaramadı mı? ya da sadece ? – engma

cevap

0

deneyin bağlıyor "mesajı" in rtexprvalue = "true" ayarlamak için yani:

<jsp:directive.attribute name="message" required="true" rtexprvalue="true"/>