Struts2自定義標籤重寫

2021-09-01 19:47:11 字數 989 閱讀 3393

struts2自定義標籤類重寫主要就是重寫dostarttag()和doendtag()方法。

tagsupport的學習

1 tagsupport與bodytagsupport的區別

tagsupport與bodytagsupport的區別主要是標籤處理類是否需要與標籤體互動,如果不需要互動的就用tagsupport,否則如果不需要互動就用bodytagsupport。

互動就是標籤處理類是否要讀取標籤體的內容和改變標籤體返回的內容。

用tagsupport實現的標籤,都可以用bodytagsupport來實現,因為bodytagsupport繼承了tagsupport。

2 dostarttag(),doendtag()

dostarttag()方法是遇到標籤開始時會呼叫的方法,其合法的返回值是eval_body_include與skip_body,前者表示將顯示標籤間的文字,後者表示不顯示標籤間的文字;doendtag()方法是在遇到標籤結束時呼叫的方法,其合法的返回值是eval_page與skip_page,前者表示處理完標籤後繼續執行以下的jsp網頁,後者是表示不處理接下來的jsp網頁

doafterbody(),這個方法是在顯示完標籤間文字之後呼叫的,其返回值有eval_body_again與skip_body,前者會再顯示一次標籤間的文字,後者則繼續執行標籤處理的下一步。

預定的處理順序是:dostarttag()返回skip_body,doafterbodytag()返回skip_body,doendtag()返回eval_page.

如果繼承了tagsupport之後,如果沒有改寫任何的方法,標籤處理的執行順序是:

dostarttag() ->不顯示文字->doendtag()->執行接下來的網頁

如果您改寫了dostarttag(),則必須指定返回值,如果指定了eval_body_include,則執行順序是

dostarttag()->顯示文字->doafterbodytag()->doendtag()->執行下面的網頁

Struts2 自定義標籤

在用struts2寫自定義標籤時遇到了一些問題,說了乙個多小時解決了,嗯就在這裡做個備忘吧 第一次寫,呵呵,有點怕出錯,如果說的不好大家不要笑.呵呵 說明一下我的環境 eclipse tomcat 自定義標籤編寫分為以下幾步 1.編寫uibean strutstag description my e...

struts2自定義標籤

在用struts2寫自定義標籤時遇到了一些問題,說了乙個多小時解決了,嗯就在這裡做個備忘吧 第一次寫,呵呵,有點怕出錯,如果說的不好大家不要笑.呵呵 說明一下我的環境 eclipse tomcat 自定義標籤編寫分為以下幾步 1.編寫uibean strutstag description my e...

Struts2自定義型別轉換

在web應用中,頁面提交請求的引數都是字串型別的。但是在學習中,我們都是直接在action中按照需要來定義屬性的型別,比如private int age,也沒有出錯,還能正確執行,這是怎麼回事呢?這是由struts2的型別轉換框架默默的幫助我們完成的功能,只要使用者輸入的資料能合理的轉換為需要的屬性...