簡體   English   中英

在jsp中聲明taglib時,我可以獲取它來輸出html代碼嗎

[英]When declaring a taglib in jsp can I get it to output html code

說我在我的jsp中:

<%@taglib prefix="foo" uri="/WEB-INF/foo.tld"%>
<html>
....
</html>

是否有可能獲得taglib聲明以輸出一些html代碼,所以我得到的html將是:

<bar>
SomeOutput
</bar>
<html>
...
</html>

我將解釋為什么這對我有用。 通常,例如,當我創建圖表時,我會使用javascript來包裝我特定於域的模型。 這樣做給了我一個可重用的標記,可以從模型創建圖表。 為了提供更多的上下文,該模型可能是雇員列表,並且圖表可能會在直方圖或其他圖表中顯示其年齡。

但是,我創建的這些自定義標記庫常常依賴於存在的JavaScript庫。 我希望在可能的情況下在聲明taglib的地方進行此聲明,因為我認為這將提供最干凈的解決方案,而不是保守地​​始終包含該庫,或者需要記住包括一個JavaScript庫,這樣我的標簽才能工作。

我也很好奇其他開發人員在這種情況下會做些什么,這也是一種替代方法。

這是不可能的。 我將創建一個“ init”標簽(例如<foo:init /> ,它將執行所需的輸出,還將一個控制變量(例如fooInitialized = true )放入頁面/請求上下文中。然后,您的標簽可以檢查是否設置變量(這意味着使用JS初始化的輸出已完成),如果沒有,則拋出錯誤。

使用類似方法,例如Liferay,您必須使用<portlet:defineObjects />標記初始化portlet對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM