先说下本文目的,
以OGNL几种通用形式,让读者快速了解OGNL
1.html代码
<html>
<head>
<base href="<%=basePath%>">
<%@taglib uri="/struts-tags" prefix="s" %>
<title>My JSP 'ognl.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<ol>
<li>访问值栈中的action的普通属性:username=<s:property value="username"/></li>
<li>访问值栈中的对象的普通属性:(get,set方法)<s:property value="user.password"/></li>
<li>访问值栈中对象普通方法:(get,set方法)<s:property value="cat.miaomiao()"/></li>
</ol>
<s:debug></s:debug>
</body>
</html>
ps:html中有3种访问方式
2.java类的代码
OgnlAction类
package com.test.action;
import Model.User;
import Model.Cat;
public class OgnlAction {
private String password;
private String username;
private User user = new User();
private Cat cat = new Cat();
public Cat getCat() {
return cat;
}
public void setCat(Cat cat) {
this.cat = cat;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public OgnlAction(){
}
public String getPassword() {
return password;
}
public String getUsername() {
return username;
}
public void setPassword(String password) {
this.password = password;
}
public void setUsername(String username) {
this.username = username;
}
public String execute() throws Exception{
return"success";
}
}
User类
package Model;
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
Cat类
package Model;
public class Cat {
public String miaomiao(){
return "miaomiao";
}
}
浏览器输入的地址:
显示的结果: