Struts2框架
文章平均质量分 95
李阿昀
昀,三尺微命,一介书生。只当穷且益坚,不坠青云之志!
展开
-
在编写Struts2框架的配置文件时,标签无提示符的解决办法
初学者在学习Struts2框架的过程中,大概会碰到这样一个问题:在编写Struts2框架的配置文件时,标签无提示符。本文就来解决掉这种问题。问题描述初学者再编写Struts2框架的配置文件时,标签无提示符,是因为找不到struts.xml文件中的头部的http://struts.apache.org/dtds/struts-2.3.dtd文件。解决方案解决方案一因为http://struts.apa原创 2016-09-30 21:07:49 · 2160 阅读 · 1 评论 -
Struts2入门第三讲——Struts2访问Servlet的API
Struts2访问Servlet的API前面已经对Struts2的流程已经执行完成了,但是如果表单中有参数,那如何进行接收又或者我们需要向页面保存一些数据,又要如何完成呢?我们可以通过学习Struts2访问Servlet的API来实现这样的功能。 在Struts2中,Action并没有直接和Servlet API进行耦合,也就是说在Struts2的Action中不能直接访问Servlet API。原创 2017-03-28 01:56:54 · 1982 阅读 · 2 评论 -
Struts2入门第七讲——OGNL
OGNL的概述什么是OGNL据度娘所说: OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化功能。它使用相同的表达式去存取对象的属性。OGNL的全称是对象图导航语言(Object-Graph Navigation Languag原创 2017-03-28 23:40:28 · 2974 阅读 · 0 评论 -
Struts2入门第一讲——Struts2框架的快速入门
Struts2框架的概述Struts2是一种基于MVC模式的轻量级Web框架,它自问世以来,就受到了广大Web开发者的关注,并广泛应用于各种企业系统的开发中。目前掌握Struts2框架几乎成为Web开发者的必备技能之一。接下来将针对Struts2的特点、安装以及执行流程等内容进行详细的讲解。什么是Struts2先讲Struts2框架之前,我们得知道JavaEE一共有三层架构,如下: 架构名称原创 2017-03-26 00:56:48 · 5441 阅读 · 1 评论 -
Struts2入门第八讲——值栈(ValueStack)
值栈的概述什么是值栈(ValueStack)?ValueStack是Struts2的一个接口,字面意义为值栈,OgnlValueStack是ValueStack的实现类,客户端发起一个请求,Struts2框架会创建一个Action实例,同时创建一个OgnlValueStack值栈实例,OgnlValueStack贯穿整个Action的生命周期,Struts2中使用OGNL将请求Action的参...原创 2019-08-13 18:20:47 · 643 阅读 · 1 评论 -
Struts2入门第二讲——使用Struts2完成CRM系统中客户列表显示的功能
三大框架(Hibernate、Struts2、Spring)学完之后,我们会立马做一个CRM系统(客户关系管理系统)的项目,CRM系统中有一个显示客户列表的功能,效果如下图:现在,我们虽说只是学完了Hibernate框架,Struts2框架也只是入门了,但是仅凭现在的知识也是可以实现这个显示客户列表的功能的,只不过肯定和最终版的没法比。搭建开发环境创建web项目,引入jar包创建一个we...原创 2019-08-11 16:02:31 · 944 阅读 · 1 评论 -
Struts2入门第九讲——优化CRM系统中客户列表显示的功能
在Struts2入门的第二讲中,我们就已经完成了CRM系统中客户列表显示的功能,但是那个时候,我们是将查询出来的List<Customer>集合存放在了request域中,然后再带到页面中显示。现在,咱可以对该功能进行一个优化,将查询出来的List<Customer>集合存入到值栈中,然后再带到页面中显示。首先,我们需要修改CustomerAction类的代码,将查询出来...原创 2019-08-15 17:17:41 · 338 阅读 · 0 评论 -
Struts2入门第十一讲——从源码角度分析Struts2的执行流程
这篇文章是在参考大量资料之下总结出来的,一是减少学习Struts2同学的疑惑,二是顺便自己总结一下提升自己的知识水平,三是抗遗忘。如果有不足之处,欢迎大家来讨论。笔者在写这篇文章的时候,也就是2019年8月15日晚上21:05,Struts2更新到了2.5.20,这个版本应该更新了不少东西,具体是啥,我也不知道,我只是想告诉大家我是基于Struts2 2.3.24这个版本来展开本讲的。首先,我给...原创 2019-08-15 21:53:33 · 438 阅读 · 4 评论 -
Struts2入门第四讲——Struts2中结果页面的配置
经过前一讲的学习,Servlet的API我们已经会访问了,聪明的童鞋会发现一个问题:在页面跳转的时候,其实Struts2默认使用的都是转发,如果我们要想使用重定向,那么应该怎么办呢?这就涉及到了Struts2中结果页面的配置,本讲将围绕它而展开。在struts.xml文件中,结果页面的的配置非常简单,使用<result>元素来配置result逻辑视图与物理视图之间的映射,该元素中有n...原创 2019-08-12 20:18:16 · 545 阅读 · 0 评论 -
Struts2入门第五讲——Struts2中的数据封装
在很多的实际开发中的场景中,页面提交请求参数到Action,在Action中除了要接收参数之外还要对请求参数进行数据的封装,封装到一个JavaBean中,然后将JavaBean传递给业务层。这些操作Struts2已经替我们都想好了,Struts2将数据的封装分成两大类,一类被称为是属性驱动,一类被称为是模型驱动。下面,我就来一一介绍它们。属性驱动属性驱动可以细分为两种,一种只需要提供属性的se...原创 2019-08-12 22:09:51 · 594 阅读 · 2 评论 -
Struts2框架进阶(七)
这是Struts2框架进阶七,本文将讲解使用<s:token />标签防止表单重复提交。 首先,我们不打算使用<s:token />标签防止表单重复提交。 我们先在WebRoot根目录下创建网站首页——index.jsp。<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"原创 2016-10-04 08:39:21 · 1319 阅读 · 0 评论 -
Struts2框架进阶(六)
这是Struts2框架进阶六,本文将详细讲解Struts2标签。property标签property标签用于输出ognl表达式的值。如:<s:set name="name" value="'kk'" /><s:property value="#name"/>default:可选属性,如果需要输出的属性值为null,则显示该属性指定的值。escape:可选属性,指定是否格式化HTML代码。va原创 2016-10-04 07:51:26 · 934 阅读 · 0 评论 -
Struts2框架入门案例时的异常——java.lang.NoClassDefFoundError- org-apache-commons-io-FileUtils
问题描述我在初学Struts2框架时,做第一个Struts2应用时,出现异常如下: 警告: Could not create JarEntryRevision for [jar:file:/F:/Tomcat_8/apache-tomcat-8.0.36/webapps/Struts2/WEB-INF/lib/struts2-core-2.3.24.jar]! java.lang.NoClas原创 2016-09-30 22:26:55 · 1766 阅读 · 0 评论 -
Struts2框架入门案例时的异常——java.lang.RuntimeException- java.lang.reflect.InvocationTargetException
问题描述我在初学Struts2框架时,做第一个Struts2应用时,出现异常如下: 严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationTargetException问题原因项目中缺javassist-3.11.0.GA.jar包。解决方法在使用struts-2.原创 2016-09-30 22:28:43 · 2601 阅读 · 0 评论 -
在Eclipse中如何关联源代码
我们就以Struts2框架为例,展示在Eclipse中如何关联源代码。例如,在Struts2框架的学习中,我们有时需要查看ActionSupport这个类的源码,这个时候就要在Eclipse中关联源代码了。那到底该怎么做呢? 我们可在随便一个类中写上ActionSupport,先按下Ctrl键,再将光标移到要查看的类(ActionSupport)上并点击,此时会跳到如下界面: 点击Atta原创 2016-09-30 23:43:04 · 18452 阅读 · 1 评论 -
Struts2框架入门
Struts2简介Struts2是在WebWork2基础上发展而来的。Struts2和Struts1一样,也都是属于MVC框架。不过有一点大家需要注意的是:虽然Struts2和Struts1在名字上差别不大,但Struts2应用的代码编写风格与Struts1几乎可以说是不一样的。那么既然有了Struts1,为何还要推出Struts2呢?主要是因为Struts2有以下优点:在软件设计上,Struts原创 2016-09-30 22:49:35 · 2532 阅读 · 0 评论 -
Struts2框架进阶(一)
Struts2框架入门之后,我们就要踏上Struts2框架漫漫的进阶之路了。我们以Struts2框架入门中的案例开始吧!Struts2框架中Action名称的搜索顺序假设某用户的请求路径的URL是http://localhost:8080/Struts2/path1/path2/path3/test.action,那么Struts2框架是怎么搜索到相应的Action来处理用户的请求呢?答案为:首先原创 2016-10-01 13:40:30 · 2768 阅读 · 1 评论 -
Struts2框架进阶(三)
这是Struts2框架进阶三。废话不多说,直接进入正文。输入校验在Struts2中,我们可以实现对action的所有方法进行校验或者对action的指定方法进行校验。 对于输入校验,Struts2提供了两种实现方法:手工编写代码实现。基于XML配置方式实现。手工编写代码实现输入校验通过重写validate()或validateXxx()方法实现,validate()方法会校验action中所原创 2016-10-03 10:07:19 · 1237 阅读 · 0 评论 -
Struts2框架进阶(二)
现在我们进入了Struts2框架学习的进阶二了,总觉得该说点什么但又不知道该说什么,直接进入正文。 Struts1框架中,在请求参数中传入执行的方法,那么开发人员编写的Action得继承DispatchAction,然后在其配置文件中配置这样的action:<action path=".../manage" type="...DispatchAction" parameter="method"原创 2016-10-01 23:02:57 · 1885 阅读 · 0 评论 -
Struts2框架进阶(四)
这是Struts2框架进阶四。废话不多说,直接进入正文。国际化Struts2框架的国际化,大概在实际开发中用到的不多,虽说用不到,但是我们还是要弄明白这个知识点的。 若我们要是在实际项目中用到国际化,那就要准备资源文件,资源文件的命名格式如下:baseName_language_country.propertiesbaseName_language.propertiesbaseName.pr原创 2016-10-03 14:01:57 · 1047 阅读 · 0 评论 -
Struts2框架进阶(五)
这是Struts2框架进阶五,本文将详细讲解OGNL表达式语言。OGNL表达式语言简介OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。Struts2框架使用OGNL作为默认的表达式语言。相对EL表达式,它提供了平时我们需要的一些功能,如:支持对象方法调用,如xxx.sayHello();支持类静态的方法调用和值访问,表达式原创 2016-10-03 16:17:39 · 1085 阅读 · 0 评论 -
Struts2入门第六讲——使用Struts2完成CRM系统中客户新增的操作
本讲是和《Struts2入门第二讲——使用Struts2完成CRM系统中客户列表显示的功能》这一讲一脉相承的,如果有小伙伴没看过这一讲,那么你在阅读本讲的过程中,将一直都是懵逼状态。环境搭建由于环境在Struts2入门第二讲中就已经搭建好了,所以这儿就不费笔墨了。下面只须编写代码实现该需求就OK了。案例代码实现在菜单页面(menu.jsp)中修改提交路径编写CustomerAction...原创 2019-08-13 11:36:21 · 405 阅读 · 0 评论