
Struts2
hestyle
戎码一生!
展开
-
Struts2框架之ContextMap(ActionContext、ValueStack)
一、ContextMap简介在Struts2框架一般不写Servlet而是写Action,并且动作类是多例,即每次访问动作类都会进行实例化(Servlet是单例)。每次动作执行前,核心控制器StrutsPrepareAndExecuteFilter都会创建一个ActionContext和ValueStack对象用于存放数据,那么ActionContext和ValueStack合起来就称为Cont...原创 2019-10-26 20:29:09 · 435 阅读 · 0 评论 -
Struts2框架之OGNL表达式快速扫盲
一、OGNL简介OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,是struts2整合的一个开源项目, 并且Struts2框架使用OGNL作为默认的表达式语言。在struts2中,要想使用OGNL表达式,必须导入Struts2标签库。OGNL与之前介绍的 JSP中的EL表达式 功能类似,主要用于从作用域取数据。关于JSP中的EL表达式,参...原创 2019-10-26 12:21:35 · 512 阅读 · 0 评论 -
Struts2框架之文件下载
在上一篇博客 Struts2框架之文件上传 介绍了在struts框架中如何进行文件上传,下面将介绍如何使用struts框架进行文件的下载。在不使用struts框架时,我们也可以通过servlet进行文件下载(参考:Java Web通过Servlet实现文件下载)。这种方式我们还需要进行文件流操作,而使用struts框架后,这些操作都可以有框架操作。第1步:创建download动作。packa...原创 2019-10-25 20:15:23 · 756 阅读 · 0 评论 -
Struts2框架之文件上传
在之前博客 Java Web 通过JSP上传文件实例,使用了html中内置的file标签<input type="file" name="file" value="浏览文件">进行文件上传。在Struts的内置标签库中,同样也提供了file标签,用户文件上传,称为文件选择域。使用Struts标签库中的file标签,在后端框架会自动进行文件接收,底层细节不用我们关注,这也正是框架的主要作...原创 2019-10-25 19:05:11 · 503 阅读 · 0 评论 -
Struts2框架之Struts拦截器
1、拦截器概念过滤器Filter这个概念我们在Java Web中接触过,而Struts拦截器与它相比,在功能、概念可以说是几乎一样(大佬就是喜欢折腾,老是搞几套一样的东西)。拦截器在Struts非常重要,比如前面使用过的表单参数自动注入,模型转换等等。Struts默认的拦截器配置在文件struts-default.xml中2、拦截器的执行时机拦截器按照在struts.xml配置文件调用的...原创 2019-10-24 17:44:27 · 311 阅读 · 0 评论 -
Struts2框架之Struts的国际化
1、软件国际化所谓的软件国际化,就是在软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。2、国际化的使用场景以苹果官网为例,苹果英文网:https://www.apple.com/苹果中文网:https://www.apple.com/cn苹果日本网https://www.apple.com/jp三个网...原创 2019-10-23 21:47:09 · 784 阅读 · 0 评论 -
Struts2框架之项目国际化时properties文件乱码问题
Java中properties文件都是使用InputStream inStream 字节流加载的。而InputStream字节流默认使用ISO 8859-1字符编码集。但是现在几乎所有的项目都是默认使用UTF-8编码集,所以会造成转码问题。情况一:properties文件是纯ISO 8859-1编码,在前端页面显示正常,但是在项目中显示\u的UTF-8格式。IDEA解决方法在File-...原创 2019-10-23 21:46:28 · 408 阅读 · 0 评论 -
Struts2框架之xml声明式表单验证与错误回显
在上一篇博客 Struts2框架之Action中进行表单验证,讲解了如何在Action类中进行表单验证,本篇博客将讲解一下如何使用xml声明式的方法进行表单验证。1、注意:\color{red}注意:注意:使用xml声明式的方法进行表单验证需要导入struts2中的xwork-core的jar包,不过在2.5的版本中将xwork-core与struts2-core的jar包进行了包,无需再次单...原创 2019-10-23 13:04:45 · 514 阅读 · 0 评论 -
Struts2框架之Action中进行表单验证与错误回显
在前一篇博客 Struts2框架之Struts内置的form以及设置错误回显中,演示了struts中的内置form标签以及错误信息的初步回显,这一篇将对表单字段进行逐一检查,并且返回错误信息给前端。在Struts2框架中常见的验证表单方式有两大类,一类是在Action使用validate()方法,来自ActionSupport类,并配合addFieldError方法,第二类是通过使用xml声明式...原创 2019-10-23 11:13:14 · 644 阅读 · 0 评论 -
Struts2框架之Struts内置的form以及设置错误回显
一、Struts2框架内置标签库在不使用Struts2框架时,一般表单都是使用HTML中的form标签,而Struts2框架中也提供了一个标签库。不过在JSP页面中使用Struts2框架内置标签库时需要在头部导入标签库。下面是Struts2框架内置的form标签以及HTML中的form标签对比。①、index.jsp文件内容<%-- Created by IntelliJ I...原创 2019-10-23 08:53:57 · 689 阅读 · 0 评论 -
Struts2框架之自定义参数类型转换
在前端提交的表单中有时会遇到需要手动转换的参数类型,比如日期格式,struts2默认的转换器只能将yyyy-MM-dd格式的字符串转成日期Date型,但是假设现在的需求是yyyy/MM/dd,这时我们就需要自定义转换器。1、日期转换Demo首先我们通过一个用户注册的Demo演示日期的转换。①、项目目录结构②、User.java类package cn.hestyle.model;im...原创 2019-10-21 11:27:06 · 411 阅读 · 0 评论 -
Struts2框架之Action获取请求参数的四种方式
方式一:通过request获取①、LoginAction.java文件package cn.hestyle.web.action;import org.apache.struts2.ServletActionContext;import javax.servlet.http.HttpServletRequest;public class LoginAction { priv...原创 2019-10-20 17:52:50 · 1630 阅读 · 1 评论 -
Struts2框架之多个配置文件整合
使用场景:当一个项目比较大时,如果把所有的action都放在一个配置文件中,肯定非常混乱、臃肿。因此可以根据业务规则进行模块化,提高效率、减少开发中的冲突。如果只使用一个配置文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Founda...原创 2019-10-20 16:38:11 · 194 阅读 · 0 评论 -
Struts2框架之在动作类中访问Servlet API
Struts2框架将Servlet进行了封装,但是有时候我们又希望获取request、response、session等对象,因为有些数据需要使用这些域对象进行前后端的传递。下面将介绍动作类中访问Servlet API的两种方式。方式一:通过ServletActionContext获取 【推荐使用】Demo结构:LoginAction.java文件package cn.hestyle.w...原创 2019-10-20 15:30:20 · 286 阅读 · 0 评论 -
Struts2框架之Struts配置文件result元素(重定向、转发)
Struts配置文件result元素也称为动作的结果视图。常见属性有name、type。name:逻辑视图的名称,对应着动作方法的返回值。默认值是successtype:结果类型,指的就是用什么方式转到定义的页面。默认是dispatcher转发。1、name取值常见的有success、error、input、login,也可以自定义2、type取值常见的有如下四种:①、di...原创 2019-10-20 13:18:48 · 585 阅读 · 0 评论 -
Struts2框架之Struts通配符与动态调用(以及常见错误)
1、Struts通配符我们先写一个小Demo,对于User定义增删改查四个action。package cn.hestyle.web.action;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport { //模拟增加用户 public Str...原创 2019-10-20 11:36:58 · 421 阅读 · 0 评论 -
Struts2框架之Struts配置文件action元素
如果不使用struts2框架,java web中一般都会写很多servlet,而struts2把这些servlet进行了封装。所以在struts2中一般都写action,作用类似于servlet,也是用类来处理前端的业务。action有name、class、method常见的是三个属性name 动作的名称class 动作处理的类(包含包路径!)method 动作处理类中使用的方法名,不写该...原创 2019-10-20 10:34:42 · 323 阅读 · 0 评论 -
Struts2框架之Struts配置文件package元素
类似于java中的包,在struts2的配置文件中引入了面向对象思想,便宜对action类进行分包管理、模块化开发。package有name、extends、abstract、namespace四个常见属性1、HelloAction演示HelloAction.java文件package cn.hestyle.web.action;public class HelloAction {...原创 2019-10-20 10:10:57 · 510 阅读 · 1 评论 -
Struts2框架之配置struts2的开发模式
1、何为struts2的开发模式在项目开发过程中,肯定会遇到各种bug,而解bug是一个比较痛苦的过程,特别是一些稀奇古怪的bug。开发模式就是在调试项目时将bug的详细信息展示给你,非常有利于你解bug。一般在开发过程中都会开启,上线发布的时候再关闭。2、如何开启struts2的开发模式在struts.xml中添加<constant name="struts.devMode" val...原创 2019-10-19 16:54:26 · 455 阅读 · 0 评论 -
Struts2框架之配置文件的加载顺序与修改struts2的访问后缀
1、Struts2配置文件的加载顺序在运行使用了Struts2框架的web项目时,需要启动tomcat服务器,然后在此之前还需要加载Struts2的配置文件,Struts2配置文件一共有好几个,如下图前三个我们不能修改,后三个可以修改,其中修改struts.xml、struts.properties这两个比较常见。后三个上面提到了后三个配置文件的顺序,那么如果一个配置项在str...原创 2019-10-19 16:35:48 · 392 阅读 · 0 评论 -
Struts2框架之创建一个Struts2项目(快捷方法)
关于Struts2框架这里就不在介绍,上一篇博客Struts2框架之Struts环境搭建与第一个Struts项目,写了一个创建Struts2项目的方法,感觉有点繁琐,现在再更新一篇比较快捷的创建方式博客。1、官网下载min-lib包官网地址:https://struts.apache.org/下载好后把它解压到一个目录。2、idea中创建Struts项目3、添加tom...原创 2019-10-19 15:32:57 · 262 阅读 · 0 评论 -
Struts2框架之启动项目常见错误与解决方法
1、项目成功启动,但是访问action出现404解决思路:\color{red}解决思路:解决思路:①、检查action处理的类路径是否正确②、检测web.xml文件是否添加拦截器2、项目启动失败,报错ERROR org.apache.struts2.dispatcher.Dispatcher - Dispatcher initialization failedERROR Sta...原创 2019-10-18 21:16:43 · 1984 阅读 · 0 评论 -
Struts2框架之Struts环境搭建与第一个Struts项目
一、Struts2简介1、Struts2概述Struts2是Apache发行的MVC开源框架。注意:它只是表现层web(MVC)框架。2、Struts的发展Struts1: Struts1也是apache开发的一套mvc的开源框架。在2005年之前非常流行。 弊端:Struts1的核心控制器就是一个Servlet。随着使用者的增多,弊端开始出现。 Struts2:...原创 2019-10-18 20:51:00 · 479 阅读 · 1 评论