我正在處理自定義標記庫,我很困惑如何在TLD文件中使用<required>
和<rtexprvalue>
標記來定義自定義標記屬性。<required>和<rtexprvalue>用於什麼?
- 這些標籤是什麼?
- 我們應該在他們之間寫什麼?
- 寫這些標籤後我們會得到什麼樣的行爲?
我正在處理自定義標記庫,我很困惑如何在TLD文件中使用<required>
和<rtexprvalue>
標記來定義自定義標記屬性。<required>和<rtexprvalue>用於什麼?
required
很簡單地意味着它的含義。該屬性是必需的或強制的。
rtexprvalue
表示運行時表達式值。這意味着該屬性可以支持scriptlet值。
elexprvalue
表示它可以支持EL(表達式語言)值。
所以,如果你有同時定義爲required=true
和rtexprvalue=true
和elattribute
requiredattr
定義爲elexprvalue=true
,你可以寫如下:
<myprefix:mytag requiredattr="<%=baz.getId()%>" elattribute="${foo.bar}"/>
在TLD中定義的<rtexprvalue>
元素捕獲屬性的動態行爲。 值可以是真或假。動態列中的假值意味着 只能爲屬性指定靜態字符串值。一個真正的值意味着可以指定一個 請求時間屬性值。如JSP規範中所定義的, 「請求時間屬性值」可以是Java表達式,EL表達式或<jsp:attribute>
設置的值。
<required>
元素定義嵌套屬性是必需的還是可選的。如果不存在,那麼缺省值是「false」,即屬性是可選的。
https://docs.oracle.com/javaee/5/tutorial/doc/bnama.html#bnamh – user2418306 2016-04-10 14:51:04