struts2--使用OGNL获取数据

来源:互联网 发布:js 强制转换字符串 编辑:程序博客网 时间:2024/06/10 04:38

 

显示界面:



值栈信息:



登录页面(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;}}

输出界面(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>       


原创粉丝点击