在servlet中若是咱們前臺提交的String類型的數據與咱們後臺所須要的數據不一致時,這時咱們須要進行手動的進行轉換,例如:session
String strAge = req.getParameter("age"); if(strAge != null){ age = Integer.parseInt(strAge); } |
而在struts12中比較常見的類型轉換struts2經過攔截器已經幫咱們完成了,不須要咱們進行手動的進行轉換,而一些自定義的類型,仍是須要咱們本身進行手動轉換,而這種轉換,咱們不該該放在action中,由於當咱們須要轉換的同一類型的數據較多時,這樣將會增長不少的代碼量,而正確的實現方式是寫一個轉換類,這個類繼承抽象類StrutsTypeConverter,實現裏面沒有實現的方法。而後編寫一個xwork-conversion.properties的配置文件,文件內容是:須要轉換的類型=繼承了StrutsTypeConverter的轉換類。這樣也就完成了類型的轉換,例如:app
public class PointConverter extends StrutsTypeConverter { }spa |
注意:運用ognl表達式在前臺進行取數據是經過值棧來獲取數據,即須要經過convertToString()這個方法進行獲取數據,而使用EL表達式的取值方式是:page->response->session->application.這樣的遍歷方式進行取值,因此不須要經過convertToString()該方法,若是取的是一個對象的話則是直接去調用的toString方法。對象