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>
相关文章推荐
- 通过javascript,使用struts2的ognl获取JavaBean的属性.
- struts2使用modeldriven执行转向更新页面是直接将getByID()获取到的值赋值给model数据不回显
- struts2 中使用request.getInputStream() 获取POST数据
- OGNL —— 数据运转的催化剂 (及在Struts2中使用OGNL)
- jsp页面,使用Struts2标签,传递和获取Action类里的参数,注意事项。<s:a action><s:iterator><s:param>ognl表达式 在编写SSH2项目的时候,除
- Struts2中用Ognl表达式来获取关联表的数据
- struts2-OGNL和类型转换(structs 自动数据表单获取)
- struts2 中使用request.getInputStream() 获取POST数据
- struts2_day02_05-获取表单数据(使用ActionContext获取)
- Struts2使用OGNL表达式封装输入数据
- struts2_day02_06-获取表单数据(使用ServletActionContext获取和接口注入)
- Ognl方法使用(利用表达式语言获取数据)
- struts2系列十之4中获取使用request,session,application的方法和页面显示的三种方法【后期ognl算第四种】
- struts2 中使用request.getInputStream() 获取POST数据
- struts2 中使用request.getInputStream() 获取POST数据
- struts2 中使用request.getInputStream() 获取POST数据
- Ognl方法使用(利用表达式语言获取数据)
- struts2 中使用request.getInputStream() 获取POST数据
- Struts2使用OGNL表达式封装输入数据(直接封装Map类型)
- 在C#中使用正则表达式自动匹配并获取所需要的数据