一 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相关简单介绍的更多相关文章

  1. Struts2框架简单介绍

    如需,了解Struts2详情,请点击,传送门 工作原理 在Struts2 框架中的处理大概分为以下步骤: 1.客户端初始化一个指向servlet容器(例如Tomcat)的请求. 2.这个请求经过一系列 ...

  2. 简单介绍Struts2

    Struts2概述 Struts2虽然是Struts1的基础上发展起来的,但是实质上是以WebWork框架为核心,为传统的Struts1注入了WebWork的设计理念,统一了Struts1和WebWo ...

  3. python06-列表表达式、生成器表达式及其面试题、解耦简单介绍、函数递归相关

    目录: 一.列表推导式 二.生成器表达式 三.集合生成器 四.生成器面试题 五.解耦简单介绍 六.函数递归相关 一.列表推导式 需求:将[1,3,5]中的每个元素平方 正常思路: new_list = ...

  4. 简单介绍几种Java后台开发常用框架组合

    01 前言 Java框架一直以来都是面试必备的知识点,而掌握Java框架,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能对当前正在开发中的系统有整体的认知,从而更好的熟悉和学习技术,这篇 ...

  5. Linux的简单介绍和常用命令的介绍

    Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...

  6. iOS-iOS开发简单介绍

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...

  7. UIDynamic(简单介绍)

    一.简单介绍 1.什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象 如:重力.弹性碰撞等现 ...

  8. 简单介绍一下R中的几种统计分布及常用模型

    统计学上分布有很多,在R中基本都有描述.因能力有限,我们就挑选几个常用的.比较重要的简单介绍一下每种分布的定义,公式,以及在R中的展示. 统计分布每一种分布有四个函数:d――density(密度函数) ...

  9. iOS开发——UI精选OC篇&UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍

    UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道 ...

随机推荐

  1. PHP基础入门(四)---PHP数组实用基础知识

    PHP数组 数组是特殊的变量,它可以同时保存一个以上的值. ***关键词:数组基础.数组遍历.超全局数组.数组功能.数组函数. 下面来和大家分享一下有关PHP的数组基础知识,希望对你PHP的学习有所帮 ...

  2. js禁止选中(网页复制)

    document.onselectstart=new Function("event.returnValue=false");//禁止选中(无法复制) document.oncon ...

  3. [leetcode-434-Number of Segments in a String]

    Count the number of segments in a string, where a segment is defined to be a contiguous sequence of ...

  4. H5仿微信界面教程(一)

    前言 先来张图,仿微信界面,界面如下,并不完全一模一样,只能说有些类似,希望大家见谅. 1 用到的知识点 jQuery WeUI 是WeUI的一个jQuery实现版本,除了实现了官方插件之外,它还提供 ...

  5. 深入理解Java虚拟机-----------虚拟机类加载机制

    虚拟机类加载机制 类从被加载到虚拟机内存开始,到卸载出内存为止,整个生命周期包括:加载,验证,准备,解析,初始化,使用,卸载等7个阶段.其中,验证,准备,解析3个部分称为连接. 以上7个阶段中,加载, ...

  6. PHP源码阅读strtr

    strtr 转换字符串中特定的字符,但是这个函数使用的方式多种. echo strtr('hello world', 'hw', 'ab'); // 第一种 aello borld echo strt ...

  7. .NET 跨平台界面框架和为什么你首先要考虑再三

    ​​​原文地址 现在用 C# 来开发​跨平台应用已经有很成熟的方案,即共用非界面代码,而每个操作系统搭配特定的用户界面代码.这个方案的好处是可以直接使用操作系统原生的控件和第三方控件,还能够和操作系统 ...

  8. java String/StringBuilder 方法

    String 定义的对象不能被修改,修改其实是创建了一个新的对象. 如 : String s1 = "1"; s1 = s1+ "2"; 本来s1 是指向”1“ ...

  9. 遍历数组按学号找人,若找到则输出信息,否则输出"查无此人"

    //建立一个类类型的数组,并向这个数组内添加学生信息,包括姓名和年龄等 **********************学生类************************** package prac ...

  10. python新手之一环境安装

    今天开始学习python,首先环境安装 1.在https://www.python.org/downloads/下载python2.X或者3.X(ps:这里建议下载32位的python ,因为64位p ...