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:单例(关于单例后面的文章中会详细介绍,你现在只要知道 ...
随机推荐
- css3特效详解
好吧,CSS3 3D transform变换,不过如此! 这篇文章发布于 2012年09月7日,星期五,01:05,归类于 css相关. 阅读 408042 次, 今日 34 次 一.写在前面的秋裤 ...
- jQuery实现按Enter键触发事件
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- zend studio里面这块注释是用什么快捷键按出来的?
写完类或函数(注意必须写完,不然出现的信息会不完整)后,在其上方空行输入/**,然后回车 /** * * @param string $a * @param string $b * @param st ...
- Python基础-类变量和实例变量
Python基础-类变量和实例变量 写在前面 如非特别说明,下文均基于Python3 大纲: 1. 类变量和实例变量 在Python Tutorial中对于类变量和实例变量是这样描述的: Genera ...
- Selenium chrome配置不加载图片Python版
环境: windows 7 + Python 3.5.2 + Selenium 3.4.2 + Chrome Driver 2.29 + Chrome 58.0.3029.110 (64-bit) f ...
- [leetcode-605-Can Place Flowers]
Suppose you have a long flowerbed in which some of the plots are planted and some are not. However, ...
- word2-寻找社交新浪微博中的目标用户
项目简述: 为了进行更加精准的营销, 利用数据挖掘相关算法, 利用开放API或自行编写爬虫获得新浪微博, 知乎等社交网络(可能需要破解验证码)中用户所发布的数据, 利用数据挖掘的相关算法进行分析, 从 ...
- Spring+SpringMVC+MyBatis深入学习及搭建(十七)——SpringMVC拦截器
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7098753.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十六)--S ...
- Azure MySQL PaaS (3) 创建MySQL异地只读数据库 (Master-Slave)
<Windows Azure Platform 系列文章目录> Azure MySQL PaaS服务提供异地只读的功能,我们可以在主站点,比如Azure上海数据中心,创建MySQL主节点. ...
- angularjs directive (自定义标签解析)
angularjs directive (自定义标签解析) 定义tpl <!-- 注意要有根标签 --> <div class="list list-inset" ...