Struts2 中#、@、%和$符号的用途】的更多相关文章

一.#符号的用途一般有三种. “#”主要有三种用途: 1. 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext():下表有几个ActionContext中有用的属性: parameters 包含当前HTTP请求参数的Map #parameters.id[0]作用相当于request.getParameter ("id") request 包含当前HttpServletRequest的属性(attribute)的Map #request.us…
OGNL表达式struts2标签“%,#,$” 一.什么是OGNL,有什么特点? OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一种可以方便地操作对象属性的开源表达式语言.OGNL有如下特点: .支持对象方法调用,形式如:objName.methodName(): .支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路)]@[方法名 |  值名],例如: @java.lang.String@format('foo …
利用struts2上传文件时,如果文件名中含有-符号,那么会出错 报错如下: HTTP Status 500 - C:\Program Files\Apache Software Foundation\Tomcat 6.0\work\Catalina\localhost\dqzx\upload_2de065e9_14fd3bcae34__8000_00000101.tmp (系统找不到指定的文件.) type Exception report message C:\Program Files\A…
OGNL(Object-Graph Navigation Language)全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能. ognl的特点: a.支持对象的方法调用,形式,eg:objName.methodName(); b.支持静态类的方法调用和值访问,expression:@[类全名(包括包路径)]@[方法名|值名],eg:@tutorial.MyConstant@Ap…
先了解一下OGNL的概念 OGNL的全名称Object Graph Navigation Language.全称为对象图导航语言,是一种表达式语言.使用这种表达式语言,你可以通过某种表达式语法,存取Java对象树中的任意属性.调用Java对象树的方法.同时能够自动实现必要的类型转化. OGNL上下文实际上就是一个Map对象,由ognl.OgnlContext类表示.它里面可以存放很多个JavaBean对象.它有一个上下文根对象. 值栈(ValueStack) : 可以在值栈中放入.删除.查询对象…
理解值栈(ValueStack)与上下文(StackContext):            Struts2中有值堆栈和堆栈上下文的概念,你用 <s:debug />可以看出. 值栈中的对象的不使用#,非值栈中的对象使用#         当前action,或者处于action链中的action所拥有的属性,并且为该属性提供了getter和setter方法,那么在jsp中就不需要使用#,除此之外需要使用#,那么从这里你就可以知道action的属性如果提供了getter和setter方法,那么这…
要了解Struts2与OGNL表达式的关系,我们必须先搞清楚以下三个概念: 1.  ActionContext它是Action运行的上下文环境,Action的多项设置都存放在次,我们每一次Action调用都会创建一个ActionContext.通常情况下我们可以通过静态方法getContext()来获得Action上下文,进而进行其它操作,比如说可以得到request.session.application. 2.  ValueStack此对象主要是由OGNL框架实现,具体的实现类是com.op…
首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能. 此外,还得先需弄懂OGNL的一些知识: 1.OGNL表达式的计算是围绕OGNL上下文进行的. OGNL上下文实际上就是一个Map对象,由ognl.OgnlContext类表示.它里面可以存放很多个JavaBean对象.…
OGNL表达式是(Object-Graph Navigation Language)是对象图形化导航语言.OGNL是一个开源的项目,struts2中默认使用OGNL表达式语言来显示数据.与serlvet中的el表达式的作用是一样的.OGNL表达式有下面以下特点: 支持对象方法调用,例如:objName.methodName(); 支持类静态的方法调用和值访问,表达式的格式为 @[类全名(包括包路经)] @[方法名 |  值名] 例如: @java.lang.String@format('foo%…
struts2中OGNL和 ValueStack(一) 收藏 学习的时候,总分不清楚在struts2中页面的传值和取值是怎么来完成的,所以从网上搜了很多资料,现在把这些资料总结写,留着以后参考..看完资料后也大概明白了... 先分清楚下ActionContext .ValueStack .Stack Context三者 ActionContext 一次Action调用都会创建一个ActionContext 调用:ActionContext context = ActionContext.getC…
1.项目组负责人让我实现这个接口,因为以前做过类似的,中间并没有遇到什么太困难的事情.其他不说,先上代码: package com.tydic.eshop.action.feedback; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.Input…
笔者不知道该用哪个词来形容ValueStack.ActionContext等可以在Struts2中用来存放数据的类.这些类使用的范围不同,得到的方法也不同,下面就来一一介绍. 声明:本文参考Struts2版本为2.3.1.2,内容仅供参考,限于笔者水平有限,难免有所疏漏,望您能友善指出.本文发表于ITEYE,谢绝转载. 1. ValueStack ValueStack在中文版的<Struts2深入浅出>一书中译作“值栈”.其本身数据结构是一个栈,使用者可以把一些对象(又称作bean)存入值栈中…
struts2需要的几个jar包:1)xwork-core-2.1.62)struts2-core-2.1.83)ognl-2.7.34)freemarker-2.3.155)commons-io-1.3.26)commons-fileupload-1.2.1这是最常用的几个包,没有这几个包是不行的 Hibernate 常用jar包 分析 - Walle2014 antlr-2.7.6.jar的作用 ANTLR (ANother Tool for Language Recognition) 是一…
Linux命令中特殊符号 转自:http://blog.chinaunix.net/uid-16946891-id-5088144.html   在shell中常用的特殊符号罗列如下:# ; ;; . , / \ 'string' | ! $ ${} $? $$ $* "string" * ** ? : ^ $# $@ `command` {} [] [[]] () (()) || && {xx,yy,zz,...}~ ~+ ~- & \<...\>…
linux 中特殊符号用法详解 原文:https://www.cnblogs.com/lidabo/p/4323979.html # 井号 (comments)#管理员  $普通用户 脚本中 #!/bin/bash   #!/bin/sh井号也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后面的是注解文字,不会被执行. # This line is comments.echo "a = $a" # a = 0由于这个特性,当临时不想执行某行指令时,只需在该行开头加上 # 就…
一.OGNL表达式简介 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目.所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象.通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能.它使用相同的表达式去存取对象的属性. Struts2框架使用OGNL作为默认的表达式语言 二.OGNL三要素和五大功能 三大要素: (1).expression…
Stream result type是Struts2中比较有用的一个feature.特别是在动态生成图片和文档下载的情况下 1:图片验证码: Action类,action主要要提供一个获取InputStrem的方法: public class CheckCodeAction extends ActionSupport implements SessionAware { private Logger log = LoggerFactory.getLogger(this.getClass()); p…
看到网上好多有struts2中从后台读取数据到<s:select>的,但都 不太详细,可能是我自己理解不了吧!所以我自己做了 一个,其中可能 有很多不好的地方,望广大网友指出 结果如图 public class Books implements java.io.Serializable { // Fields private String bookId; private String bookType; private String bookName; private String bookA…
Struts2.3.4 所需的Jar包及介绍 Jar包的分类 jar包名称 jar包版本 jar包 文件名 jar包 的作用 jar包内包含的主要包路径及主要类 依赖的自有jar包名称 依赖的第三方jar包名称 本jar包是否为第三方包 Struts 2.3.4 的 核 心 包 struts2-core -2.3.4.jar 2.3.4 struts2-core -2.3.4 struts2的核心包 org.apache.struts2.dispatcher.ng.filter.StrutsPr…
  今天跑程序的时候莫名其妙的出现了下面的一个异常: java.lang.NoSuchMethodException:com.ca.agent.model.mybatis.ApprovalInforCangra.setSubDate([Ljava.lang.String;) 这类异常信息在以前是处理过的,按照以前的思路在eclipse的调试模式下看看具体的情况,不过这次比较奇怪,根本没进入到对应的Action类中就抛出了此异常信息,进一步查找发现,在调用拦截器方法的时候就抛出了此异常信息,还有没…
核心包: (后面数字是版本号,不同struts2版本,数字可能不一样.) struts2-core-2.1.8.1 struts2的核心jar包,不可缺少的 xwork-core-2.1.6 xwork的核心包,由于Struts2是由xwork的延伸 有些类依然关联着 xwork的类(2.5没有这个的单独包,原来的xwork单独的jar已经合并到了struts-core的jar包中了,打开struts-core jar包 就发现了) aopalliance-1.0 这个包为AOP提供了最普通和通…
Struts2中的EasyUI 一.easy UI是类似于jQuery UI的插件库,它提供了丰富的各种常用插件:tree.datagrid... tree插件: 语法:$(selector).tree([settings]); 常用属性: 常用方法.事件: 使用tree插件实现树形菜单: 客户端页面关键代码: ① 引入easy UI插件及样式文件 ② 定义用来配置树形菜单的区域 ③ 使用tree方法加载远程树形菜单数据 <script type="text/javascript"…
struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="post" name="form1"> 用户名:<s:textfield name="username"/><br/> 密 码:<s:password name="password"/><br/&g…
C#中的@符号其实有很多的用法,我们来看看@有什么神奇之处. 1.限定字符串 用 @ 符号加在字符串前面表示其中的转义字符“不”被处理. 如果我们写一个文件的路径,例如"D:/文本文件"路径下的text.txt文件,不加@符号的话写法如下: string fileName = "D://文本文件//text.txt"; 如果使用@符号就会比较简单: string fileName = @"D:/文本文件/text.txt"; 2.让字符串跨行 有…
Struts2中动态方法调用就是为了解决一个action对应多个请求的处理,以免action太多. 主要有一下三种方法:指定method属性.感叹号方式和通配符方式.推荐使用第三种方式. 1.指定method属性 LoginAction.java public class LoginAction extends ActionSupport{ public String execute (){ return "success" ; } public String add(){ retur…
简单理解Struts2中拦截器与过滤器的区别及执行顺序 当接收到一个httprequest , a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标准的过滤器链 c) FilterDispatecher会去查找相应的ActionMapper,如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy d) ActionProxy将会通过ConfigurationManager来查找配置struts.xml       …
功能 列出.o .a .so中的符号信息,包括诸如符号的值,符号类型及符号名称等.所谓符号,通常指定义出的函数,全局变量等等. 使用 nm [option(s)] [file(s)] 有用的options: -A 在每个符号信息的前面打印所在对象文件名称: -C 输出demangle过了的符号名称: -D 打印动态符号: -l 使用对象文件中的调试信息打印出所在源文件及行号: -n 按照地址/符号值来排序: -u 打印出那些未定义的符号: 常见的符号类型: A 该符号的值在今后的链接中将不再改变…
从昨天开始复习了struts2的课程,之所以重新走上java的道路,是觉得写了一年的go程序,并没有感觉到学习了什么,反而把java给忘得干干净净的.想想我的计划,年后就要换工作了,至于要换到什么方向自己心里还不确定,貌似扯远了.所以,还是先从自己原来最熟悉的java开始吧. 先简单描述一下我测试的情景.我使用的是struts2,配置了一个action tt,所在的namespace是/test.项目根目录下放一个index.jsp,增加一个指向tt的连接, 这样就可以访问到自定义的action…
拦截器是Struts2中的核心,其自带很多很多的拦截器,这里主要介绍一下自定义拦截器,恩多一半情况下呢?我们不需要使用到自定义的拦截器,Struts2本身已经提 供了很多的拦截器供我们使用,对于自定义拦截器的学习,有利于我们理解Struts2中的拦截器机制. Struts2的很多功能都是基于拦截器的,比如:传参,国际化,文件的上传下载. 拦截器栈:将多个拦截器按照顺序链接,相当于一条拦截器的链,会按照顺序执行. Struts中所以的拦截器都必须实现一个Interceptor接口,Extends…
Struts2中文件的上传下载,是借用commons里面的包实现文件的上传,需要导入两个jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar 实现的时候你可以使用s标签,也可以使用普通的表单标签步骤大概如下: 使用s标签的话,先导入标签 修改form 表单的enctype属性 编写action(利用IO流进行上传文件) 1.使用s标签的话,先导入标签 <%@ taglib prefix="s" uri="/strut…