2011-04-21 43 views
0

我是一個非常初學者的JSP/Facelets開發人員,需要創建一個新的自定義標記來擴展常見的ICEFaces的commandButton。我希望能夠知道如何將自定義標記的開始和結束之間包含的標記傳遞給commandButton。這在需要處理f:param時有必要。將內部標記傳遞到Facelet標記

例子:

<myNS:myTag ...> 
    <f:param name="name" value="value" /> 
    <f:param name="name2" value="value2" /> 
</myNS:myTag> 

應該呈現爲

<myMarkup> 
    <ice:commandButton ...> 
     <f:param name="name" value="value" /> 
     <f:param name="name2" value="value2" /> 
    </ice:commandButton> 
<myMarkup> 

個人註釋:我對這些技術非常困惑。我仍然在.NET 4中認爲 :(

回答

2

嘗試並更改需求。你想要做的是COMPLEX,而且真的不是開始使用JSF(或JSP)的好方法。像ASP.NET這樣的單一簡單技術,而是採用複雜方式分層的兩種不同技術(這是組合被棄用的原因之一)即使你設法做你想做的事,你也會被不同的生命週期JSF對象和JSP標籤,所以也許它不會工作是否仍要方式。

+0

+1因爲我真的缺少ASP.NET。我研究了一下,看起來像我必須通過渲染器實現標記。我會再多加一點 – 2011-04-21 17:35:22

+0

@djechelon:所以升級到Facelets不是一個選擇嗎?作爲JSF的視圖技術,JSP非常糟糕。 – BalusC 2011-04-21 18:15:23

+0

其實,我剛剛發現,相信我正在創建JSP標籤,我**正在創建facelet標籤。你認爲我所問的是facelets可行嗎?我剛剛看到taglib文件以* facelet-taglib *元素開始......我想我應該改寫這個問題 – 2011-04-22 08:09:26

0

按照更新的問題,你似乎意見是真正使用Facelets的(.xhtml文件),而不是JSP (.jsp文件)。在這種情況下,您可以使用<ui:insert />來聲明自定義標記的子項的插入位置。