6. 问题六: 在JSP中获取值栈的数据 * 总结几个小问题: > 访问root中数据 不需要# > 访问context其它对象数据 加 # > 如果向root中存入对象的话,优先使用push方法. > 如果向root中存入集合的话,优先要使用set方法. * 在OgnlContext中获取数据 > 在Action中向域对象中存入值 > request:<s:property value="#request.username"/> >…
Struts2_day03 上节内容 今天内容 OGNL概述 OGNL入门案例 什么是值栈 获取值栈对象 值栈内部结构 向值栈放数据 向值栈放对象 向值栈放list集合 从值栈获取数据 获取字符串 获取对象 获取list集合 其他操作 EL表达式获取值栈数据(为什么) OGNL的#.%使用 #使用 %使用 案例-列表功能改造(值栈) Struts2_day03 上节内容 1 在action获取表单提交数据 (1)使用ActionContext类获取 (2)使用ServletActionConte…
从值栈获取数据 1 使用struts2的标签+ognl表达式获取值栈数据 (1)<s:property value=”ognl表达式”/> 获取字符串…
7. 问题七:为什么EL也能访问值栈中的数据? * StrutsPreparedAndExecuteFilter的doFilter代码中 request = prepare.wrapRequest(request); > 对Request对象进行了包装 ,StrutsRequestWrapper > 增强了request的 getAttribute Object attribute = super.getAttribute(s); if (attribute == null) { attrib…
用户提交一次请求的执行过程 总结: struts值栈中 两个内容 一个是栈 一个是map 值栈(数据中心)的范围是一个请求 它代替了request作用域 struts自定义标签有一个特点 比如遍历集合的时候 把每次循环得到的 对象 自动放在栈顶 此次循环结束之后 把它从栈顶拿掉(弹出) 下次循环到第二个对象 再把它放在栈顶 %{ognl}表达式 从栈顶找对应属性 找不到 去map中找对应的key的值 jsp页面中${}是el表达式 ognl表达式 在struts.xml中的格式为 ${} 在js…
开发者不必在Spring中去注册action,尽管可以这么去做,通常Struts框架会自动地从action mapping中创建action对象 struts2-spring-plugin-x-x-x.jar插件中有一个struts-plugin.xml文件,该文件内容如下所示: <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http:…
转自:csdn 封装对象User,属性有id,username,email等1.1:在action中将字符串保存到值栈中   1.1.1 获取值栈对象         ValueStack stack = ActionContext.getContext().getValueStack();   1.1.2 将字符串保存到值栈中         stack.set("username","leo");1.2:在jsp页面中获取值栈中的字符串   1.2.1 <…
1.第一种 获取值栈对象,调用值栈对象里面的set方法(该方法添加的是一个Map集合) //第一种方式,使用值栈对象获取对象里面的set方法 //1.获取值栈对象 ActionContext context = ActionContext.getContext(); ValueStack stack = context.getValueStack(); //2.调用方法set方法 stack.set("username","web"); 2.调用值栈对象里面的pus…
SpringMVC从Session域中获取值 SpringMVC环境自行搭建 第一步:前端页面 第二步.后台代码 第三步.响应视图 第四步.在当前处理器所在的类设置@SessionAttributes注解 注意:一般情况下我们真正操作,request域就已经足够,自己做自己的业务,因为我们MVC的处理器是方法级别的,一个方法就是一个处理器,如果又使用session就是又搞了一个类进行共享,可能就会出现一些意想不到的问题.以后能不用session就不用session.以后开发使用session做一…
5. 问题五: 向值栈保存数据 (主要针对root栈) > valueStack.push(Object obj); * push方法的底层调用root对象的push方法(把元素添加到0位置) > valueStack.set(String key, Object obj);set往里面存储map集合 * 源码获取map集合(map有可能是已经存在的,有可能是新创建的),把map集合push到栈顶,再把数据存入到map集合中. > 在jsp中 通过 <s:debug /> 查…
@Value和@ConfigurationProperties都是用于属性的注入(相当于spring中<bean id=" " class=" ">->注入到容器中) ConfigurationProperties:告诉Spring Boot将本类中的所有属性和配置文件中相关的配置进行绑定:prefix:配置文件中哪个下面的所有属性进行映射] Person类 @Component @ConfigurationProperties(prefix =…
1.方法的静态和动态调用: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">…
1.@RequestParam 注解使用的时候可以有一个值,也可以没有值:如果请求参数和处理方法参数的名称一样的话,@RequestParam 注解的 value 这个参数就可省掉了:@RequestParam 注解的 required 这个参数定义了参数值是否是必须要传的. package com.jt; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotatio…
最近在上班工作当中,也尝到了一些新的知识,现总结如下(1)从AndroidManifest.xml配置文件中获取meta数据 // 从Manifest.xml配置文件中获取数据 public static String getMetaValue(Context context, String metaKey) { Bundle metaData = null; String metaValue = null; if (context == null || metaKey == null) { r…
你还可以在"data-*" 属性里使用json语法,例如 <div id="awesome-json" data-awesome='{"game":"on",”name”:”bb”}'></div> <a   data-awesome='{"id":"${puser.personId }","name":"${puser.nic…
<input style="height: 18px; width: 90px;" name="nowQty" value="${ad.nowQty}" onchange="checkNumber(this);" onfocus="if (value =='0'){value =''}" onblur="if (value ==''){value='0'}" /> //校验输…
pageContext javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据.常用的方法有getServletContext和getServletConfig等. pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out.request.reponse.session.application 等对象.pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接…
1. OGNL 表达式 1.1 概述 OGNL(Object Graphic Navigation Language),即对象图导航语言; 所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象; 通过OGNL表达式,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图等功能; 1.2 特点 OGNL 是一种比 EL 表达式强大很多倍的语言; xwork 提供 OGNL 表达式; ognl-3.0.5包; Struts2 框架使用 OGNL 作为默认的表达式语言;…
技术分析之OGNL表达式概述(了解)        1. OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写        * 所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象        * 通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能.它使用相同的表达式去存取对象的属性        2. Struts2框架使用OGNL作为默认的表达式语言 …
7.1  值栈 7.1.1  值栈是什么 简单的说:值栈是对应每一个请求对象的轻量级的内存数据中心. Struts2中一个很激动人心的特性就是引入了值栈,在这里统一管理着数据,供Action.Result.Interceptor等Struts2的其他部分使用,这样一来,数据被集中管理起来而不会凌乱,大大方便了程序编写. Struts2中关于值栈的另外一个很激动人心的特性就是:大多数情况下,你根本无需关心值栈,你不用管它在哪里,不用管它里面有什么,你只需要去获取自己需要的数据就可以了.也就是说,你…
这里先添加下在项目遇到的问题: 这两天在做论坛项目的时候,犯了一个错误:将数据放入值栈中,结果jsp页面获取不到. 困扰了许久: 总结如下: (1)每个action对应相应页面的值栈中值的获取,在属于此action的页面上面如果采用OGNL或者EL表达式获取的值都是从此action中获取的.不要将action对应的页面搞乱了 (2)关于EL表达式获取值栈中心的:map和对象栈stack中的值的获取方式:对于两者的获取方式都是${}这种方式,不分#的. (3)jsp页面的参数获取的形式: 举个例子…
1 值栈是什么? 简单的说:值栈是对应每一个请求对象的轻量级的内存数据中心. Struts2中一个很激动人心的特性就是引入了值栈,在这里统一管理着数据,供Action.Result.Interceptor等Struts2的其他部分使用,这样一来,数据被集中管理起来而不会凌乱,大大方便了程序编写.Struts2中关于值栈的另外一个很激动人心的特性就是:大多数情况下,你根本无需关心值栈,你不用管它在哪里,不用管它里面有什么,你只需要去获取自己需要的数据就可以了.也就是说,你可以隐式的使用值栈.当然,…
目录 1. OGNL 1.1 OGNL概述 1.1 什么是OGNL 1.1.2 OGNL的优势 1.1.2 OGNL使用的要素 1.2 OGNL的Java环境入门[了解] 1.2.1 访问对象的方法 1.2.2 访问对象的静态方法 1.2.3 获得Root中的数据 1.2.4 获得OgnlContext中的数据 1.3 OGNL的Struts2的环境入门 1.3.1 访问对象的方法 1.3.2 访问对象的静态方法 2. 值栈 2. 1什么是值栈 2.2 值栈的内部结构 2.3 值栈与Action…
1. 问题一:什么是值栈? * 值栈就相当于Struts2框架的数据的中转站,向值栈存入一些数据.从值栈中获取到数据. * ValueStack 是 struts2 提供一个接口,实现类 OgnlValueStack ---- 值栈对象 (OGNL是从值栈中获取数据的 ) * Action是多例的,有一起请求,创建Action实例,创建一个ActionContext对象,代表的是Action的上下文对象,还会创建一个ValueStack对象. * 每个Action实例都有一个ValueStack…
一. 核心部分 1. [核心试题]完成当天课堂练习 2. [多选题] 阅读如下代码中,下列哪种方式可以在页面正确迭代获取集合中的数据 (ABC) public String add(){ ValueStack vs = ActionContext.getContext().getValueStack(); // 压入List集合 List<User> ulist = new ArrayList<User>(); ulist.add(new User("小明",2…
一.OGNL概述 1.1OGNL是对象图导航语言(Object-Graph Navigation Languaged)的缩写,他是一种功能强大的表达式语言,通过简单一致的表达式语法,可以存取Java对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型的转化功能.他使用相同的表达式去存取对象的属性.如果吧表达式看作一个带有语义的字符串,那么OGNL无疑成为了这个语义字符串与java对象之间沟通的桥梁. 1.2OGNL的要素 表达式:表达式是整个OGNL的核心,OGNL会根据表达式去对…
一.OGNL概述 1.1 什么是OGNL OGNL的全称是对象图导航语言( object-graph Navigation Language),它是一种功能强大的开源表达式语言,使用这种表达式语言,可以通过某种表达式语法,存取Java对象的任意属性,调用Java对象的方法,同时能够自动实现必要的类型转换.如果把表达式看作是一个带有语义的字符串,那么OGNL无疑成为了这个语义字符串与Java对象之间沟通的桥梁. 1.2 OGNL的作用 Struts2默认的表达式语言就是OGNL,它具有以下特点:…
OGNL表示式使用 和 值栈 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts2框架使用OGNL作为默认的表达式语言. * xwork 提供 OGNL表达式 * ognl-3.0.5.jar OGNL 是一种比EL 强大很多倍的语言 OGNL 提供五大类功能 1.支持对象方法调用,如xxx.doSomeSpecial(): 2.支持类静态的方法调用和值访问 3.访问OGNL上下文(OGNL context)和…
另外值得参考博客:http://blog.csdn.net/resigshy/article/details/7560573 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目.Struts2框架使用OGNL作为默认的表达式语言,是一种比EL强大很多倍的语言.OGNL 提供五大类功能 1.支持对象方法调用,如xxx.doSomeSpecial(): 2.支持类静态的方法调用和值访问 3.访问OGNL上下文(OGNL conte…
ValueStack 如何得到值栈: 如何将对象存入值栈: 让值栈执行表达式来获得值: 在JSP中跳过栈顶元素直接访问第二层: 在JSP中访问值栈对象本身(而不是它们的属性) ActionContext ValueStack与ActionContext的联系和区别: 如何获得ActionContext: 如何向ActionContext中存入值: 如何从ActionContext中读取值: HttpServletRequest类或request的Map 使用HttpServletRequest类…