struts2相关简单介绍
一 Struts2环境配置
1.准备jar包,核心jar包有:

2.创建Struts2项目并导入jar包
3.在Struts2项目中src下创建Struts.xml配置文件

4.在Web.xml文件中配置拦截器

其中:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter来自
二使用
1.Struts自动设值:
1.1必须继承ActionSupport这个类
1.2将你要自动设值得对象进行 get set
1.3必须要在struts.xml文件中继承struts-default
2.Struts页面操作:
2.1寻找到struts.xml中的result标签中name属性和后台return配对后进行跳转页面。
2.2result的属性:
重点介绍:
{ dispatcher :跳转到一个指定的jsp页面 , 在没有设值type属性的时候为默认属性。
redirect:重定向,可以执行跳转到一个url。
redirectAction:可以指定跳转到一个action. 通常用这个。
}
其他:
1,dispatcher [默认配置] 
org.apache.struts2.dispatcher.ServletDispatcherResult
默认结果类型,用来呈现JSP页面
2,chain 
com.opensymphony.xwork2.ActionChainResult 
将action和另外一个action链接起来
3,freemarker  
org.apache.struts2.views.freemarker.FreemarkerResult 
呈现Freemarker模板
4,httpheader  
org.apache.struts2.dispatcher.HttpHeaderResult   
返回一个已配置好的HTTP头信息响应
5,redirect  
org.apache.struts2.dispatcher.ServletRedirectResult 
将用户重定向到一个已配置好的URL
6,redirectAction  
org.apache.struts2.dispatcher.ServletActionRedirectResult 
将用户重定向到一个已定义好的action
7,stream  
org.apache.struts2.dispatcher.StreamResult  
将原始数据作为流传递回浏览器端,该结果类型对下载的内容和图片非常有用
8,velocity  
org.apache.struts2.dispatcher.VelocityResult   
呈现Velocity模板
9,xslt  
org.apache.struts2.views.xslt.XSLTResult  
呈现XML到浏览器,该XML可以通过XSL模板进行转换
10,plaintext  
org.apache.struts2.dispatcher.PlainTextResult   
返回普通文本类容
-----------------------------------------------------------------------------
这此result-type可以在struts2-core-2.0.11.1.jar包或struts2源代码中的struts-default.xml文件中找到,在这个文件中找到<result-types>标签,所有的result-type都在里面定义了。
三Struts的通配符
*就是他的通配符
{}获取通配符的格式
第一个* 对应的格式是{1}
第二个* 对应的格式是{2}
...
..
四Struts的国际化
<constant name="struts.custom.i18n.resources" value="zr"></constant>
创建zr_en_US.properties ,zr_zh_CN.properties等文件
文件内容英语配置英语语言格式
中文内容配置根据网页版Unicode编码转换工具或者jdk中的Unicode编码转换工具或者MyEclipseUnicode编码转换工具 实现转码。
Struts2项目自动识别语言的依据:
是文件的名称为何种语言
五Struts的上传下载
上传

注意: <interceptor-ref name="defaultStack"></interceptor-ref> name为拦截器中的固定名称
<interceptor-ref name="fileUpload" > 也是为拦截器中固定名称
为什么要调用拦截器中这两个名称:因为一次拦截器达不到控制文件的大小类型我们需要再次调用拦截器中的上传。
下载
1.<result type="stream">
<param name="contentDisposition">attachment;filename=${fileName}</param>
</result>
attachment:为下载的弹出层
filename=${fileName} : 为下载时候的文件名称
注意:result 的type属性必须为stream流对象 这样可以是后台默认执行 getInputStream
2.public InputStream getInputStream()throws Exception{
}
注意:方法名为固定写法
返回值必须为流对象行使 这样子可以使用方法被默认执行
struts2相关简单介绍的更多相关文章
- Struts2框架简单介绍
		
如需,了解Struts2详情,请点击,传送门 工作原理 在Struts2 框架中的处理大概分为以下步骤: 1.客户端初始化一个指向servlet容器(例如Tomcat)的请求. 2.这个请求经过一系列 ...
 - 简单介绍Struts2
		
Struts2概述 Struts2虽然是Struts1的基础上发展起来的,但是实质上是以WebWork框架为核心,为传统的Struts1注入了WebWork的设计理念,统一了Struts1和WebWo ...
 - python06-列表表达式、生成器表达式及其面试题、解耦简单介绍、函数递归相关
		
目录: 一.列表推导式 二.生成器表达式 三.集合生成器 四.生成器面试题 五.解耦简单介绍 六.函数递归相关 一.列表推导式 需求:将[1,3,5]中的每个元素平方 正常思路: new_list = ...
 - 简单介绍几种Java后台开发常用框架组合
		
01 前言 Java框架一直以来都是面试必备的知识点,而掌握Java框架,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能对当前正在开发中的系统有整体的认知,从而更好的熟悉和学习技术,这篇 ...
 - Linux的简单介绍和常用命令的介绍
		
Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...
 - iOS-iOS开发简单介绍
		
概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...
 - UIDynamic(简单介绍)
		
一.简单介绍 1.什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象 如:重力.弹性碰撞等现 ...
 - 简单介绍一下R中的几种统计分布及常用模型
		
统计学上分布有很多,在R中基本都有描述.因能力有限,我们就挑选几个常用的.比较重要的简单介绍一下每种分布的定义,公式,以及在R中的展示. 统计分布每一种分布有四个函数:d――density(密度函数) ...
 - iOS开发——UI精选OC篇&UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍
		
UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道 ...
 
随机推荐
- 限制input[type=number]的输入位数策略整理
			
当我们使用类型number的input输入框的时候,我们可能需要限制输入的位数,这个时候通常会想到maxlength,但是maxlength是在number类型的时候是不支持的,下面是一些解决这种问题 ...
 - Java 基础 break和continue关键字的使用
			
break&continue关键字的使用 break:使用在switch...case语句或者循环结构语句中,表示结束当前循环. 示例代码: public class TestBreak { ...
 - RDLC报表纵向合并单元格。
			
在做RDLC报表时发现居然没有纵向合并单元格,震惊! 网上查了一些资料,有些方法很可爱,采用去除边框法,但是用这种方法如果要求文本属性居中的话那则达不到美观效果,还有些复杂一点的方法,我都没耐心看,然 ...
 - php5.6在yum下安装redis
			
yum install redis php-redis --enablerepo=remi,remi-php56 设置redis开机自动启动,具体路径以实际为准, echo "/usr/bi ...
 - 【Android Developers Training】 20. 创建一个Fragment
			
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
 - 复写equals、hashCode和toString方法
			
equals.hashCode和toString 这三个方法都是object类的方法,由于所有的类都是继承这个类,所以每一个类都有这三个方法. 1.复写equals方法 原则: 首先,两个实例是相同的 ...
 - 无法将类型为excel.applicationclass的com 强制转换为接口类型的解决方法[转]
			
c#解决方案EXCEL 导出 今天碰到客户的电脑在导出EXCEL的时候提示,无法将类型为 excel.applicationclass 的 com 强制转换为接口类型 excel._applicati ...
 - Linux安装SVN服务器
			
“svn都快淘汰了” #安装subversion yum -y install subversion #创建svn仓库基础路径 mkdir /home/svn #创建svn仓库 svnadmin cr ...
 - [随笔]_ELVE_git命令复习
			
mkdir: XX (创建一个空目录 XX指目录名) pwd: 显示当前目录的路径. git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件. git add XX 把xx文件添 ...
 - 与你们分享我学习linux系统的三大妙招
			
一说到linux,我们就自然会想到企业服务器系统,目前市场上的网络设备都是使用linux内核操作系统,一些网络服务器也是使用linux操作系统下面的服务搭建实现的:目前操作系统这块也基本被linux占 ...