欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Struts2 OGNL表达式

程序员文章站 2022-05-18 14:45:39
1、index.jsp 访问属性 ognl 2.struts.xml

1、index.jsp


访问属性 ognl
2.struts.xml
<struts>
 <constant name="struts.enable.DynamicMethodInvocation" value="true">
 <constant name="struts.devMode" value="true">
 <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
 <include file="/com/wxh/action/ognl.xml">
</include></constant></constant></struts>
3.ognl.xml
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="true">
 <constant name="struts.devMode" value="true">
	<package extends="struts-default" name="ognl">
		<action class="com.wxh.action.OgnlAction" name="ognl">
			<result>/ognl.jsp</result>
		</action>
		<action class="com.wxh.action.TestAction" name="test">
			<result type="chain">ognl</result>
		</action>
	</package>
</constant></constant></struts>

4.ognl.jsp






  1. 访问值栈中的action的普通属性:username=
  2. 访问值栈中的对象的普通属性(get set 方法):|
  3. 访问值栈中的对象的普通属性(get set 方法):
  4. 访问值栈中的对象的普通方法:
  5. 访问值栈中的对象的普通方法:
  6. 访问值栈中action的普通方法:
  7. 访问静态方法:
  8. 访问静态属性:
  9. 访问Math类的静态方法:
  10. 访问普通类的构造方法:
  11. 访问List:
  12.  
  13. 访问List中某个元素:
  14.  
  15. 访问List中元素某个属性的集合:
  16.  
  17. 访问List中元素某个属性的集合中的特定值:|
  18.  
  19. 访问Set:
  20. 访问Set中的某个元素:
  21. 访问Map:
  22. 访问Map中某个元素:||
  23. 访问Map中所有的key:
  24. 访问Map中所有的value:
  25. 访问容器的大小:|
  26. 投影(过滤):
  27. 投影:
  28. 投影:
  29. 投影:
  30. []:

5.OgnlAction.java
package com.wxh.action;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.opensymphony.xwork2.ActionSupport;

public class OgnlAction extends ActionSupport{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String password;
	private String username;
	private User user;
	private Cat cat;
	
	private List users=new ArrayList();
	private Set dogs=new HashSet();
	private Map dogMap=new HashMap();
	
	public OgnlAction(){
		users.add(new User(1));
		users.add(new User(2));
		users.add(new User(3));
		
		dogs.add(new Dog("dog1"));
		dogs.add(new Dog("dog2"));
		dogs.add(new Dog("dog3"));
		
		dogMap.put("dog100",new Dog("dog100"));
		dogMap.put("dog101",new Dog("dog101"));
		dogMap.put("dog102",new Dog("dog102"));
	}
	
	
	
	public List getUsers() {
		return users;
	}



	public void setUsers(List users) {
		this.users = users;
	}



	public Set getDogs() {
		return dogs;
	}



	public void setDogs(Set dogs) {
		this.dogs = dogs;
	}



	public Map getDogMap() {
		return dogMap;
	}



	public void setDogMap(Map dogMap) {
		this.dogMap = dogMap;
	}



	public String m(){
		return "hello";
	}
	
	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 String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}
	public String execute(){
		return SUCCESS;
	}
	
}
6.Cat.java
package com.wxh.action;

public class Cat {
	private Dog friend;

	public Dog getFriend() {
		return friend;
	}

	public void setFriend(Dog friend) {
		this.friend = friend;
	}
	public String miaomiao(){
		return "miaomiao";
	}

}

7.Dog.java

 

 

package com.wxh.action;

public class Dog {
	public Dog(){
		
	}
	public Dog(String anme){
		super();
		this.name=name;
	}
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	public String toString(){
		return "dog:"+name;
	}

}

8.S.java
package com.wxh.action;

public class S {
	public static String STR="STATIC STRING";
	
	public static String s(){
		return "static method";
	}
}


9.User.java

 

 

package com.wxh.action;

public class User {	
	private int age;
	
	public User(){
		System.out.println("user.constructor!");
	}
	public User(int age){
		super();
		this.age=age;
	}
	
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String toString(){
		return "user"+age;
	}

}
思考:在做一些实验的时候某些功能并没有展现。