EL表達式的使及自定義過程

el表達式在struts2中使用一般是通過javabean導航來獲取數據,一般從web四大域中從小到大的範圍中取值,pageContext、request、
session、application,這是常用的方式。struts2中對取值方法進行了重寫,當四大域沒值的時候,從值棧中取。
下面是el表達式自定義的方式。


自定義過程:


1 定義tld文件。如string.tld文件放在WEB-INF目錄下。


      <function>
<description>escape je tags</description>
<name>getJeStr</name>
<function-class>com.chdtp.base.tags.StringHelper</function-class>
<function-signature>
java.lang.String getJeStr(java.lang.String,int)
</function-signature>
      </function>


2 jsp頁面要引用該文件的路徑,如:<%@ taglib prefix="str" uri="/WEB-INF/string.tld"%>


頁面中使用如:${str:getSjzf(jbspdt)}


3 定義StringHelper類中添加靜態方法getSjzf(),方法必須是靜態的才能調用


  public static String getSjzf(String str){//獲得時間字符串
    String result="";
    if(null!=str){
    str=str.trim();
    }
    if(null!=str && str.length()==8){//20110713
    String year=str.substring(0, 4);
    String month=str.substring(4, 6);
    String day=str.substring(6, 8);
    result=year+"-"+month+"-"+day;
    }
    if(null!=str && str.length()==12){
    String year=str.substring(0, 4);
    String month=str.substring(4, 6);
    String day=str.substring(6, 8);
    String hour=str.substring(8, 10);
    String minite=str.substring(10,12);
   
    result=year+"-"+month+"-"+day+" "+hour+":"+minite;
    }
    if(null!=str && str.length()==14){
    String year=str.substring(0, 4);
    String month=str.substring(4, 6);
    String day=str.substring(6, 8);
    String hour=str.substring(8, 10);
    String minite=str.substring(10,12);
    String s=str.substring(12, 14);
    result=year+"-"+month+"-"+day+" "+hour+":"+minite+":"+s;
    }
    return result;
   
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章