`
文章列表
null引用处理 我们知道,我们在Action中定义属性时并没有对他们进行初始化,那么也就是Struts2在对请求参数进行类型转换时,我们的Action属性可能还是null。那么框架会自动将这些null的属性实例化一个默认的对象(在学习Parameters拦截器时已经看过源代码了): (1)如果我们的属性声明为List(Collection)类型,那么默认会给他实例化一个ArrayList对象 (2)如果我们的属性声明为Map类型,那么默认会给他实例化一个HashMap对象 (3)如果我们的属性是一个简单的JavaBean,并且含有一个没有参数的构造器,那么Struts2会通过Objec ...
类型转换概述 把请求参数映射到动作属性的工作是由Parameters拦截器来负责,它是defaultStack拦截器栈中的医院。我们知道,所有的请求参数都是String类型,但是动作的属性却并不都是String类型,那么肯定需要通过某种方式来实现String类型和其他数据类型之间的转换。前面我刚刚学习了OGNL,我们知道通过OGNL能够在拦截器和视图中操作我们的Action成员属性,我们也知道将请求参数映射到Action属性的工作是由Parameters拦截器来实现,那么我们可以推测Struts2正是通过这二者的结合来完成数据类型的转换的。如果我们查看Struts2的源代码,我们就会发现Str ...

QQ

...
OGNL介绍 OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。 OGNL三要素 (1).expression求值表达式——首先会被解析成对象树 (2).rootobject 根对象——默认的操作对象 (3).contextOGNL执行环境——OGNL执行的上下文环境 OGNL context是一个Map结构,ognl.O ...
OGNL介绍 OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。 OGNL三要素 (1).expression求值表达式——首先会被解析成对象树 (2).rootobject 根对象——默认的操作对象 (3).contextOGNL执行环境——OGNL执行的上下文环境 OGNL context是一个Map结构,ognl.O ...
第一百篇,它只是一个虚词,或许哪一天我不喜欢了以前的某篇文章,把它删了之后,这篇文章就没有了意义。 第一百篇,一个技术的总结,也许是那么的浅薄,那么的不知天高。 第一百篇,人生的一个徘徊,何去何从,仍然 ...
// +-------+---+-+ // | ... |i-1|i| 求Next(array, i) // +-------+---+-+ // X // / \ -------+ // / \ | | // / \ | | // 若i-1前面 +---+| | ...
思维模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点 适用性 1.当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。 类图 程序清单 /** * 单例模式 * @author 何青松 * @version 1.0 */ public class Singleton { private static Singleton sing; private Singleton(){} public static Singleto ...
【问题描述】关于Java中synchronized 用在实例方法和对象方法上面的区别 【问题分析】大家都知道,在Java中,synchronized 是用来表示同步的,我们可以synchronized 来修饰一个方法(实例方法和类方法---注:不知道这样叫准确不准确, ...
正则表达式是一个强大的字符串处理工具,可以对字符串进行查找、提取、分割、替换等操作。String类里也提供了如下特殊的方法: boolean matches(String regex):判断该字符串指定的正则表达式。 String replaceAll(String regex,String replacem ...
public class MathTest { public static void main(String[] args) { /*---------下面是三角运算---------*/ //将弧度转换角度 System.out.println("Math.toDegrees(1.57):" + Math.toDegrees(1.57)); //将角度转换为弧度 System.out.println("Math.toRadians(90):" + Math.toRadians(90)); //计算反余弦 ...
我其实是新手,前几天开始学习struts2的知识。 不知道是因为自己笨还是RP不好,弄了我几天。今天可能是我的人品爆发吧,既然给我整成功了。唉,那个高兴甭提了。几天都在痛苦中煎熬,只是这个煎熬是值得的,我现在就把我的配置成功案例给大家分享下。可能代码写的不专业,在以后的学习中我会注意培养的。我们要学习struts2的开发,首先环境的搭建这个工作是必须的,对于我新手来说,这一步也是最纠结的,因为一旦碰到错误。自己在百度和google拼命的寻求答案,可是就是找不到最终的解释。真是苦逼的新手啊。 先说下我的使用struts2 的配置环境: IDE:myeclipse8.5 JDK:j ...
<style type="text/css"> <!-- p {text-indent:2em} --> </style> 去年这个时候,为做软件工程的大作业就详细学过Log4J的用法了,时隔一年想要在新的项目中好好使用一下的时候,发现几乎全忘了,悲催啊…… 再上网查资料,总是不能找到一篇符合我的口味,拿来就能轻松上手,方便查阅的文章。看了几篇网文以及Apache的官方文档,耐心的总结了一下,贴出来分享,也方便自己以后查阅! 着急的话,可以直接从第8部分配置文件示例中截取一段配置文件拿去用就好啦~(可能还需要看一眼第7部分回 ...
对于大部分Java对象而言,程序里会有一个引用变量引用该对象,这是最常见的引用方式.除了这之外,在java.lang.ref包下面给我们提供了3个类:SoftReference、PhantomReference和WeakRerence,他们分别代表了系统对象的3种引用方式:软引用、弱引 ...
Unable to load configuration. - bean - jar:file:/H:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/struts2-01.myeclipse.bak/WEB-INF/lib/struts2-gxp-plugin-2.3.3.jar!/struts-plugin.xml:8:162 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationMana ...
Global site tag (gtag.js) - Google Analytics