Struts2基本使用 基本使用 简介 基本使用 2.执行流程 1 简介及基本使用 01 简介 Struts2框架的作用 Struts2是一个基于MVC设计模式的Web应用框架 它本质上相当于一个...servlet,在MVC设计模式中, Struts2作为控制器(Controller)来建立模型与视图的数据交互。...常见web层的框架 Struts2 Struts1 Webwork SpringMVC 02 基本使用 下载 ?...docs中则是一些使用文档,分了三个文件夹(基本没用) ? lib中就是Struts2会用到的java包,非常多只截了一部分 ? 12个基本使用的包 ? 创建工程引入java包 ?...类 中已经封装好了各种功能 ?
2017-08-09 02:46:18 在JavaScript中,arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性。...Javascrip中每个函数都会有一个Arguments对象实例arguments,它引用着函数的实参,可以用数组下标的方式"[]"引用arguments的元素。...可以通过下面的例子来看一下arguments的具体使用方法 function test(){ if(arguments.length>0){ for(p of arguments){ console.log...function test(){ if(arguments.length>0){ console.log(arguments.callee); } } */ 通过上面的例子可以看到callee的作用,当需要使用递归来处理问题时...function count(a){ if(a==1){ return 1; } return a + arguments.callee(--a);//此处的调用亦可使用
创建Set实例 使用 new 关键字和 Set 构造函数可以创建一个空集合: const s = new Set(); 如果想在创建的同时初始化实例,则可以给 Set 构造函数传入一个可迭代对象,其中需要包含插入到新集合实例中的元素...返回布尔值): const s = new Set(); s.add(1).add(2).add(3); s.has(1); // true 6. delete() delete(): 删除Set实例中某个元素
因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。 ③、不同浏览器对 cookie 的实现也不一样。即保存在一个浏览器中的 cookie 到另外一个浏览器是 不能获取的。...,我们可以通过读取 cookie 中的信息,恢复购物车中的物品。...但是在浏览器端,我们可以将数据保存在 cookie 中,然后在另外页面再去获取 cookie 中的数据。 PS:这里要注意 cookie 的时效性,不然会造成获取 cookie 中数据的混乱。...3、怎么使用 cookie? ...比如: document.cookie="name=中文"; //为了防止中文乱码,我们可以使用encodeURIComponent()编码;decodeURIComponent()解码 document.cookie
struts2 中 Actionsupport 的作用 Action 跟 Actionsupport 的区别 当我们在写action的时候,可以实现Action接口,也可以继承Actionsupport...ActionSupport类的作用 struts2不要求我们自己设计的action类继承任何的struts基类或struts接口,但是我们为了方便实现我们自己的action,大多数情况下都会继承...因为此类中实现了很多的实用借口,提供了很多默认方法,这些默认方法包括国际化信息的方法、默认的处理用户请求的方法等,这样可以大大的简化Acion的开发。...Struts2中通常直接使用Action来封装HTTP请求参数,因此,Action类里还应该包含与请求参数对应的属性,并且为属性提供对应的getter和setter方法。
--该属性指定整合Spring框架时,是否缓存Bean实例,该属性只允许使用true和false两个属性值,它的默认值是true.通常不建议修改该属性值. > ...--包括哪些jar包中的action。逗号分割字符串。> <constant name="struts.convention.action.includeJars" value=".*?
Struts2中有两种方式处理Ajax请求: (注:我使用的是最新的Struts 2.3.20) 1. 使用Stream result的方式以流的形式写出到客户端。...(这种方式我没有亲自做实验,下面的例子参考的是Struts2的官方文档) 我们可以这样书写我们的Action: package actions; import java.io.InputStream...使用Struts2的插件机制:(下面我以返回JSON格式的数据为例进行说明,需要struts2-json-plugin-2.3.20包,这个包在Struts2的官方下载中已经包含,不需要额外下载) 首先是前台发送...Ajax请求:(我这里使用JQuery) $("#btnClick").click(function() { $.post("hello", {name: "tanzhenyu"},...OK,成功搞定,如果有疑问可以参考Struts2官方文档中关于Ajax的部分。
想要实现 Map 转为 Bean 的功能,使用了org.apache.commons.beanutils.BeanUtils.populate(object, map); 期间遇到了一些问题,遂整理了一下...org.apache.commons.beanutils.BeanUtils.populate(bean, map); System.out.println(bean.getId()); } 测试结果发现,bean的id为null,没有实现预想中的...明明我们使用了 lombok 自动给 JavaBean 生成了 getter/setter,难道 lombok 还有猫腻?...解决办法: 1、去掉 Accessors 注解 2、摸索中… 发现了这个 Introspector.findMethod(Class cls, String methodName, int argCount, Class args[]); 能按方法名获取Method对象,那么要自己实现转换逻辑,可以尝试,摸索中… ---- end
js自带函数和jquery中的append方法相似 insertAdjacentHTML是一个非常酷的DOM方法,我们可以调用任何DOM元素来向页面添加新内容。...这代表我们将HTML添加到容器中的位置。...我们有四种选项可以设置它的位置: beforebegin 在元素之前 afterbegin 在元素的第一个子元素之后 beforeend 在元素的最后一个子元素之后 afterend 在元素之后 下面的示例代码展示了,向列表中添加了一项
解压压缩包,得到Struts2的源码及示例代码。 ? apps目录中主要是官方提供的Struts2的实例代码,对于我们的学习是很有用的。docs中主要是有关Struts2的相关文档内容。...lib目录中主要存放了有关Struts2的核心类库,以及第三方插件库。src中包含了Struts2的全部源代码。...二、理解Struts2的运行流程 下面演示一个完整的使用Struts2的实例,目的不是具体的代码,重点在于理解整个框架的运作流程。...(这是使用Struts2最基本的jar包,没必要从Struts2的lib中一个一个找,因为你也不知道哪些是必需的),我们将他们导入到我们的项目中。 ?...struts.xml应该被创建并放置在类的加载文件夹中,使用IDE的话,就创建在src文件夹下,在编译的时候会被拷贝到WEB-INF/classes中。 ?
Java学习之struts2使用 0x00 前言 持续记录学习内容 0x01 struts2 使用 导入ja包 org.apache.struts...Struts2的package与java中的package类似,可以把同一个业务模块的action和result集中到一个包中,方便管理。不同的是Struts2的包可以继承。...如果找不到login0方法,Struts2会在类中查找doLogin)方法。如果都找不到,将会报错。...,response);请求转发的意思是当前请求中的参数、属性在下一个页面或请求中仍然可 以使用。.../result> 访问Servlet Struts2访问Servlet API有解耦和耦合两种方式 解耦方式 Struts2将部分Servlet APl中的对象封装成Map,可以通过
中的标签在后面再详细讲解,这个标签的意思是输出属性的值 这个标签中的value属性填写的是OGNL表达式,如果我们要输出一个常量,那么我们必须使用单引号 引用struts2中的标签库<%@ taglib...,否则就会默认的将其作为OGNL表达式,输出的就为空 集合list OGNL中的list相当于数组,其中存放的可以是任意类型的数据 读取的时候直接使用数组的形式读取即可,使用索引读取即可 我们的创建形式是使用...标签,因此这个变量不是值栈中的,需要使用# <!...action都是存放在值栈中,我们可以使用OGNL读取值栈中的数据 使用上面的LoginAction类,我们通过表单提交到这个LoginAction中,跳转到success.jsp页面中,那么我们就可以在...,我们也可以使用top,直接top.propertyName即可 Struts2的命名对象 这些对象都不是值栈中的数据,因此需要使用#来获取 parameters用来访问请求参数,比如#parameters.name
-- struts2捕获action类异常 --> <!
值栈(ValueStack) Struts2将OGNL上下文设置为Struts2中的ActionContext(内部使用的仍然是OgnlContext),并将值栈设为OGNL的根对象。 ...也就是说,对于值栈中的任何对象都可以直接访问,而不需要使用“#”。 ...正如你所见,访问值栈中的对象属性或方法,无须指明对象,也不用“#”,就好像值栈中的对象都是OGNL上下文中的根对象一样。这就是Struts2在OGNL基础上做出的改进。...值栈中的Action实例 Struts2框架总是把Action实例放在栈顶。...Struts2中的其他命名对象 Struts2还提供了一些命名对象,这些对象没有保存在值栈中,而是保存在ActionContext中,因此访问这些对象需要使用“#”标记。
上一篇 Struts2框架的基本使用 我们限于篇幅,最后简单介绍了Action的配置问题,本篇接着介绍有关框架的一些其他基本用法,主要内容如下: Action的基本配置 result的基本配置...Struts的异常处理机制 Convention插件于“约定”的支持 一、Action的基本配置 上篇文章我们简单的看了Struts.xml中的package包元素的一些属性的使用情况,接下来我们看看...中的login方法。...这就是统配符的简单使用情况,其实子元素result中也是可以通过{n}来获取 * 的值的,具体的等到介绍result的时候在详解。 下面说一下,有关使用通配符而产生的匹配顺序问题。...error对应的result元素,但是使用global-results元素配置了一个全局的结果,也就是如果某个Action返回error,但是在自己的result子元素中没有找到该结果对应的物理视图,就会跑到全局下搜索
背景 在JS中并没有原生枚举的实现,可以通过下面几种方法来模拟类似的操作。...直接使用字符串 上代码: function isWeekend(day) { return day === 'Sat' || day === 'Sun' } console.log(isWeekend...使用变量储存枚举值 这次进阶了一下,虽然代码啰嗦了,但是犯错概率会大大降低: const Days = Object.freeze({ Mon: 'Mon', Tue: 'Tue',...Symbol类型 虽然说用变量把枚举值储存起来了,不过只要别人愿意,他完全可以这样做: // 使用字符串时 isWeekend('Sun') // 使用数字时 isWeekend(0) 那我们属于是白封装了...JS定义枚举集合时的优化 可以尝试下列几种方法,只需要写出来枚举的名字,通过几个数组的API进行赋值操作。 但是由于是动态执行的,效率相对来说会降低,不过这通常是不足一提的。
浅谈与使用js中的原型# 1 什么是原型# “ 每个函数都会创建一个 prototype 属性,这个属性是一个对象,包含应该由特定引用类型的实例 共享的属性和方法。...2 原型的使用# 首先我们使用设计模式中的工厂模式来实现一个Person类,可以通过new这个Person的函数来创建一个与之具有相同属性的实例,也就省的我们再次创建Person函数了。...person2 = new Person('Greg', 27, 'Doctor') person1.sayName() // Nicholas person2.sayName() // Greg 从上面代码中可以看到...有,那就是用原型,请看下面这份代码: // 工厂模式实现 方法2 使用原型属性 function Person(name, age, job) { this.name = name this.age...3 小结# 本文仅是对于原型有个简单的认识也使用,原型在js中是一个比较重要的模块,还有__proto__ 、 原型链 这些概念没有讲到,如果感兴趣,可以再通过书籍及视频来交叉理解。
js中if语句的使用 if 语句是使用最频繁的语句之一,语法如下: if (condition) { statement1 } else { statement2 } 1、条件(condition...这里的语句可能是一行代码,也可能是一个代码块(即包含在一对花括号中的多行代码)如下列代码: if (xhs > 1) { console.log('xhs满足大于1!')...可以像这样连续使用多个 if 语句: if (condition1) { statement1 } else if (condition2) { statement2 } else { statement3...满足大于25') } else if (xhs < 0) { console.log('xhs满足小于0') } else { console.log('xhs在0到25之间') } 以上就是js...中if语句的使用,希望对大家有所帮助。
转载请注明:http://blog.csdn.net/uniquewonderq 使用EL表达式,显示Action中的数据 问题: 在struts2框架下,如何将业务控制器Action的数据传递给JSP...解决方案: Struts2会自动的将Action的数据传递给JSP,并且对传递方式进行了封装,在使用时变得十分方便,甚至不需要使用request对象。...它仅仅要求我们在Action中定义属性,并为属性提供get方法,那么从Action跳转到JSP时,struts2会自动的通过这些get方法将这些属性的值传递给JSP。...上使用EL表达式输出这些属性值。...在文本框中输入内容,点击提交,此时表单数据提交给了HelloAction,HelloAction接受到了表单数据后,跳转到了hello.jsp,我们在hello.jsp上使用EL表达式来输出HelloAction
js中arguments的使用 说明 1、当不确定传递了多少参数时,可以使用arguments来获取。在JavaScript中,arguments实际上是当前函数的内置对象。...所有函数都内置了一个arguments对象,所有实参都存储在arguments对象中。 2、arguments的显示形式是一个伪数组,所以可以遍历。...实例 // arguments 的使用 function fn() { console.log(arguments);// 里面存储了所有传递过来的实参 console.log(arguments.length...); console.log(arguments[0]); } fn(1,2,3); 以上就是js中arguments的使用,希望对大家有所帮助。
领取专属 10元无门槛券
手把手带您无忧上云