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;
}
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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.