當自定義Tag位於iterate標籤體時,如何獲取<bean:write>的值?

rurorani發表於2009-03-13
正在作一個struts 1.1的專案 jdk1.4

由於特殊需求, 使用了自定義的標籤TAG

比如說是叫做 <extag:button/>

一種典型的應用是 <extag:button name="aa" value="按鈕" onclick="return submit('aaa','<bean:write name=beanA# property=propA#/>')"/>

在自定義的Tag Class裡, 使用正規表示式匹配出此Bean的名字和屬性, 然後用RequestUtils.lookup() 方法獲取value, 並替換<bean:write> (也就是說自己寫了一個閹割版bean write)

在普通情況下這個Tag可以正常使用.

問題來了, 當時沒考慮到, 如果這個Tag位於<logic:iterate>內時, 如何獲取bean的值?

大家知道 iterate時, 會指定一個bean, 屬性為其中的一個列表, 對這個list進行迴圈, 然後指定id比如說為 r

那麼在iterate內的 自定義tag裡的 自定義beanwrite 是這麼寫的:

<bean:write name=r# property=propA#/>

顯然這個是不行的.

現在比較迷茫, 該如何獲取迴圈體內的值?

相關文章