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;
}