Struts2学习第七课 OGNL】的更多相关文章

request变成了struts重写的StrutsRequestWrapper 关于值栈: helloWorld时,${productName}读取productName值,实际上该属性并不在request等域中,而是从值栈中获取的. ValueStack: 可以从ActionContext中获取值栈对象 值栈分为两个逻辑部分: 1.Map栈:实际上是OgnlContext类型,是个Map,也是对ApplicationContext的一个引用,里边保存着各种Map,requestMap,sess…
result 是action节点的子节点 result 代表action方法执行后,可能去的一个目的地 一个action节点可以配置多个result子节点. result的name属性值对应着action方法可能有的一个返回值. result有两个属性,还有一个是type它表示结果的响应类型 result的type属性值在struts-default包的result-types节点的name属性中定义, 常用的有: dispatcher(默认值):转发,同Servlet中的转发. redirec…
动态方法调用:通过url动态调用Action中的方法. action声明: <package name="struts-app2" namespace="/" extends="struts-default"> <action name="Product" class="org.simpleit.app.Product"> </package> URI: --/strut…
一个WEB应用可能有长百上千个action声明,可以利用struts提供的通配符映射机制吧多个彼此相识的映射关系简化为一个映射关系. 通配符映射规则: --若找到多个匹配,没有通配符的那个将胜出(精确匹配) --若指定的动作不存在,struts将会尝试把这个URI与任何一个包含着通配符*的动作名进行匹配 --被通配符匹配到的URI字符串的子串可以用{1},{2}来引用,{1}匹配第一个子串,{2}匹配第二个子串 --{0}匹配整个URI --若struts找到的带有通配符的匹配不止一个,则按先后…
com.opensymphony.xwork2.ActionSupport类是默认的Action类,如果某个Action节点没有配置class属性,则ActionSupport即为待执行的Action类,而execute方法即为要默认执行的方法. <action name="testActionSupport"> <result>/testActionSupport.jsp</result> </action> 等同于 <actio…
Python学习第七课 'Alex' "Alex"print('hello'*5) #重复输出字符串 print('hellowold'[2:]) #类似于切片操作:会取出 llowold #关键字 inprint(123 in [23,12,123,45]) #返回ture #字符串拼接A='123'B='456'C=A+B D=''.join([A,B]) print(C)print(D) Python的内置方法 st='hello kitty {name} is {age}' s…
原文:Elasticsearch7.X 入门学习第七课笔记-----Mapping多字段与自定义Analyzer 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_36697880/article/details/100692056 多字段类型 所谓多字段类型,即:一个字段可以有多个子字段.这种特性带来了以下好处. 增加一个keyword子字段,可用于精确匹配 可对子字段设置不同的an…
一.什么是Ognl? 通过百度百科查询到的解释,其中详细的说明了OGNL的作用. 下面我们就对OGNL这5个作用进行讲解 1.存取对象的任意属性,简单说就是对javabean进行操作(重要) 2.调用对象方法. 3.调用类的静态方法 4.索引数组元素 5.操作集合(重 要) 二.OGNL的功能实现 操作之前必须知道如何使用OGNL表达式,并且了解OGNL表达式的取值范围只能在其context和root中,格式为 Ognl.getValue(expression,context,root); //…
1.自动类型转换 Struts2内部提供大量类型转换器,用来完成数据类型转换问题: String和boolean.Boolean:完成字符串与布尔值之间的转换 String和char.Character:往常字符串与字符之间的转换 String和int.Integer:完成字符串与整型之间的转换 String和long.Long:完成字符串与长整型值之间的转换 String和double.Double:完成字符串与双精度浮点值的转换 String和float.Float:完成字符串和单精度浮点之…
JAVA中的OGNL: 1 调用对象的方法: 2 访问对象的静态方法: 3 获取OGNLContext.Root中的数据. User: 4 访问Context: 关键还是在Struts2环境中的使用: 并没有打印 静态方法的值,因为Struts2默认关闭了. 再次刷新后发现有值了. 编写demo debug启动 打断点发现: root和context均在这里面. 修改demo返回值 运行: 方式1: 方式2: 如果有多个user 默认展示栈顶的!!! 没有set get方法 无法查看 但是已经在…
异常处理:exception-mapping元素 exception-mapping元素:配置当前的action的声明式异常处理 exception-mapping元素有两个属性: --exception:指定需要铺货的异常类型 --result:指定一个响应结果,该结果将在捕获到指定异常时被执行,既可以来自当前action的声明也可以来自global-results声明. 可以通过global-exception-mappings元素为应用程序提供一个全局性的异常补货映射,但是在global-…
关于Struts2请求的扩展名问题: 1).org.apache.struts2包下的default.properties中配置了struts2应用的一些常量 2).struts.action.extension定义了当前struts2应用可以接受的请求的扩展名. 3).可以在struts.xml文件中以常量配置的方式修改default.properties所配置的常量. <constant name="struts.action.extension" value="a…
与Servlet耦合的访问方式 直接访问Servlet API将使Action与环境Servlet环境耦合在一起,测试时需要有Servlet容器,不便对Action的单元测试. 直接获取HttpServletRequest对象: servletActionContext.getRequest() 获取HttpSession:ServletActionContext.getRequest().getSession() 直接获取ServletContext对象: servletActionConte…
使用XxxAware接口 看代码: package logan.struts2.study; import java.util.Map; import org.apache.struts2.interceptor.ApplicationAware; public class TestAwareAction implements ApplicationAware{ public String execute(){ //1.向application中加入一个属性:applicationKey2 -…
1.什么是WEB资源? HttpServletRequest,HttpSession,ServletContext等原生的Servlet API. 2.为什么访问WEB资源? B/S的应用的Controller中必然需要访问WEB资源,例如,向域对象中读写属性,读写Cookie,获取realPath等等. 3.如何访问? 在Action中,可以通过一下方式访问web的HttpSession,HttpServletRequest,HttpServletResponse等资源 与Servlet AP…
action  VS  Action类 action:代表一个Struts2的请求 Action类:能够处理struts2请求的类. 属性的名字必须遵守与JavaBean属性名相同的命名规则. 属性的类型可以是任意类型,从字符串到非字符串(基本数据类型)之间的数据转换可以自动发生 必须有一个不带参的构造器:通过反射创建实例 至少有一个共struts在执行这个action时调用的方法 同一个Action类可以包含多个action方法. struts2会为每一个HTTP请求创建一个新的Action实…
接着上次的课程 这次我们看struts.xml 修改如下:这里是加上命名空间,默认的是不加,我们手动加上时就要在访问时加上命名空间. <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts…
Servlet实现下载 1.Servlet 3.1之前实现文件上传 package ecut.request; import java.io.BufferedReader; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import java…
Bootstrap 表格 标签 描述 <table> 为表格添加基础样式. <thead> 表格标题行的容器元素(<tr>),用来标识表格列. <tbody> 表格主体中的表格行的容器元素(<tr>). <tr> 一组出现在单行上的表格单元格的容器元素(<td> 或 <th>). <td> 默认的表格单元格. <th> 特殊的表格单元格,用来标识列或行(取决于范围和位置).必须在 <…
1.环境准备:      LoadRunner11----->对应JDK1.6版本(32位) LoadRunner12----->对应JDK1.7版本(32位) (一).JDK下载安装完成后,配置环境变量: 1).系统变量→新建 JAVA_HOME 变量 .    变量值填写jdk的安装目录(例如:C:\Program Files (x86)\Java\jdk1.7.0_25) 2).系统变量→寻找 Path 变量→编辑,在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%…
Redis键值相关命令                                                                                                                                   keys:返回满足给定pattern的所有key.(用法:keys pattern表达式) exists:确认一个key是否存在.(用法:exists key) del:删除一个key.(用法:del key) ex…
term.terms查询 term query会去倒排索引中寻找确切的term,它并不知道分词器的存在,这种查询适合keyword.numeric.date等明确值的 term:查询某个字段里含有某个关键词的文档 GET /customer/doc/_search/ { "query": { "term": { "title": "blog" } } } terms:查询某个字段里含有多个关键词的文档 GET /custome…
集合(set) # 2 无序 # 3 集合中元素必须是不可变类型 # 定义集合 s = {1,2,3,4,5} print(s) # 输出结果 {1, 2, 3, 4, 5} # 1 集合由不同元素组成 s1 = {1,2,2,3,4,5,5,5,5,5} print(s1) # 输出结果 {1, 2, 3, 4, 5} s2=set("hello") # 定义集合方法2 print(s2) # 输出结果 {'o', 'e', 'h', 'l'} set中的一些常用方法(add,cle…
第七课[网络配置相关] 在Vmware中添加网卡 编辑 -> 编辑虚拟网络 -> 添加网络->随便选择一个如VMnet2-> 选择仅主机模式 -> 勾掉使用本地DHCP服务将ip分给虚拟机 -> 子网Ip默认就行 注: ​ 1. win10 用户需要管理源权限,否则都是灰的添加不了,点击重启就好 ​ 2. Wmnet1,WMnet8是WMware默认的网卡 # 打开 windows CMD # 会看到如下的网卡信息 C:\Users\kanewang>ipconf…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
内容简介 1.课程大纲 2.第二部分第七课: 文件读写 3.第二部分第八课预告: 动态分配 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量类型 文件读写…
内容简介 1.课程大纲 2.第一部分第七课: 循环语句 3.第一部分第八课预告: 第一个C语言小游戏 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量类型…
CSDN的markdown编辑器是吃屎了么! !.什么玩意.!写了一半写不了东西还全没了,搞个毛线! 本节课的视频教程地址是:第七课在此 假设本教程有帮助到您,希望您能点击进去观看一下,并且如今注冊成为极客学院的会员,能够免费领取30天学习时间,免费拿极客学院VIP,1000+高清视频.学习Android.HTML5.iOS各种开发技术,限时领取.手快的戳:http://e.jikexueyuan.com/invite/index.html?ZnJvbV9jb2RlPVkxblJUZSZ1bmF…
Struts2 基础知识学习总结 Struts2 概述:Struts2 是一个用来开发 MVC 应用程序的框架,他提供了 Web 应用程序开发过程中的一些常见问题的解决方案,比如对于用户输入信息合法性的验证,统一的布局,国际化等,既然有 Struts2 那么肯定有 Struts1,但是从本质上讲 Struts2 不是从 Struts1 扩展而来的,更应该说是一种换了品牌标签的 WebWork 更合适. struts1 VS struts2 struts1 里使用 ActionServlet 作为…