您的位置:首页 > 编程语言 > Java开发

struts2--使用OGNL获取数据

2017-08-16 15:28 429 查看

 

显示界面:



值栈信息:



登录页面(index.jsp):

<body>
<s:form action = "login" method = "post">
<s:textfield name = "user.username" label = "用户名"/>
<s:password name = "user.password" label = "密码"/>
<s:radio list="{'男','女'}" label = "性别" name = "user.sex"/>
<s:textfield name = "user.age" label = "年龄"/>
<s:submit value = "提交"/>
</s:form>
</body>LoginAction:
package com.action;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import javassist.compiler.ast.NewExpr;

import com.bean.User;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{
private User user;
private List<User> users;
private List list;

public String execute(){
list = new ArrayList();
User user1 = new User("英男","123456",19);
User user2 = new User("王虎","234567",35);
list.add(user1);
list.add(user2);

HttpServletRequest request= ServletActionContext.getRequest();
request.setAttribute("user", user.getUsername());
Map session = ActionContext.getContext().getSession();
session.put("user", user.getPassword());
Map application = ActionContext.getContext().getApplication();
application.put("user", user.getAge());

users = new LinkedList<User>();
users.add(new User("王环","883456",25));
users.add(new User("张辽","166556",29));
users.add(new User("薛平","135112",36));
users.add(new User("蕾丝","452122",31));
return SUCCESS;
}

public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}

public List<User> getUsers() {
return users;
}

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

public List getList() {
return list;
}

public void setList(List list) {
this.list = list;
}

}


javaBean:
package com.bean;

public class User {
private String username;
private String password;
private String sex;
private Integer age;

public User() {}

public User(String username,String password,Integer age){
this.username = username;
this.password = password;
this.age = age;
}

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

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

public Integer getAge() {
return age;
}

public void setAge(Integer age) {
this.age = age;
}

}
4000



输出界面(ognl.jsp):
<body>
<s:debug/>
获取request:<s:property value = "#request.user"/><br>
获取session:<s:property value = "#session.user"/><br>
获取application:<s:property value = "#application.user"/><br>
获取list属性信息:
<s:property value = "list[0].username"/>
<s:property value = "list[0].password"/>
<s:property value = "list[0].age"/>
<br>
静态属性:
<s:property value = "@java.lang.Math@PI"/><br>
年龄大于30的人:
<ul>
<s:iterator value = "users.{?#this.age>30}">
<li>
<s:property value = "username"/>
<s:property value = "age"/>
</li>
</s:iterator>
</ul>
</body>

struts.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">

<struts>
<package name="default" namespace = "/" extends="struts-default">
<action name = "login" class = "com.action.LoginAction">
<result>/ognl.jsp</result>
</action>
</package>
</struts>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: