xx.java中的方法:
public class Utils {
//静态方法
public static String toUpperCase(String str){
return str.toUpperCase();
}
public static String toLowerCase(String str){
return str.toLowerCase();
}
//动态方法
public String subString(String str,int start,int end){
return str.substring(start,end);
}
在页面中:
静态方法的调用. <br> 注意静态方法的调用,格式是@包名.类名@方法名
1.<s:property value="@cn.com.Sample.tools.Utils@toUpperCase('helloword')"/><br/>
2.<s:property value="@cn.com.Sample.tools.Utils@toLowerCase('helloword')"/><br/>
3.<s:property value="@cn.com.Sample.tools.Utils@toLowerCase(username)"/><br/>
4.<s:property value="@cn.com.Sample.tools.Utils@toLowerCase(password)"/><br/>
5.<s:property value="@cn.com.Sample.tools.Utils@toLowerCase(user.age)"/><br/>
6.<s:property value="@cn.com.Sample.tools.Utils@toLowerCase(#user.username)"/><br/><br/>
动态方法的调用.<br/> 注意动态方法的调用,格式是new 包名.类名().方法名
<s:property value="new cn.com.Sample.tools.Utils().subString('HELLOWORD',2,5)"/><br/>
<s:property value="@cn.com.Sample.tools.Utils@toLowerCase(new cn.com.Sample.tools.Utils().subString('helloword',2,5))"/><br/>
调用action中的方法。<br/>�getUtils()是action中自己写的一个方法
<s:property value="getUtils().subString('HELLOWORD',2,5)"/><br/>
<s:property value="utils.subString('HELLOWORD',2,5)"/><br/>
OGNL中Root根对象的概念以及Context上下文对象的概念:
Map<String ,Object> context=new HashMap<String,Object>();
context.put("user1",user);
context.put("user2",user1);
context.put("user3",user2);
try {
String tele=(String)Ognl.getValue("Address.Contact.tele",user);
System.out.println(tele);
Ognl.setValue("Address.Contact.tele", user, "123456");
System.out.println(user.getAddress().getContact().getTele());
//context
String username=(String)Ognl.getValue("#user3.username", context, new Object());
System.out.println(username);
Ognl.setValue("#user3.username", context, new Object(), "李五");
System.out.println(Ognl.getValue("#user3.username", context, new Object()));
System.out.println(Ognl.getValue("#user1.username+\",\"+#user2.username+','+#user3.username", context, new Object()));
} catch (OgnlException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//调用静态放方法
Ognl.getValue("@[email protected](#root.Address.Contact.tele)",user);
//调用动态方法
Ognl.getValue("@[email protected](new cn.com.Sample.tools.Utils().subString(#root.Address.Contact.tele,1,4))", user);
} catch (OgnlException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}