一 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. CoolBlog开发笔记第3课:创建Django应用

    教程目录 1.1 CoolBlog开发笔记第1课:项目分析 1.2 CoolBlog开发笔记第2课:搭建开发环境 前言 经过上一节我们已经创建了CoolBlog工程,但是关于CoolBlog的功能代码 ...

  2. httpClient 发送请求后解析流重用的问题(HttpEntity的重用:BufferedHttpEntity)

    使用场景: 项目中使用httpClient发送一次http请求,以流的方式处理返回结果,开始发现返回的流只能使用一次,再次使用就会出错,后来看了一些解决方案,EntityUtils.consume(r ...

  3. AngularJS模块

    方式一: <body ng-app="myApp"> <div ng-controller="myCtrl1"> <h1>{ ...

  4. js原生获取className&多选一

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. JS实现全选、不选、反选

    思路:1.获取元素.2.用for循环历遍数组,把checkbox的checked设置为true即实现全选,把checkbox的checked设置为false即实现不选.3.通过if判断,如果check ...

  6. python yield from 语法

    python yield from 语法 yield语法比较简单, 教程也很多 , yield from的中文讲解很少 , python官网是这样解释的 PEP 380 adds the yield ...

  7. javaWeb第一天

    //第一个JavaWeb项目package com.chy.action; import java.io.IOException; import javax.servlet.ServletExcept ...

  8. Apache+Tomcat实现动静分离

    完成Tomcat集群搭建后,我们只需修改两.三处即可实现动静分离. 1.将原来httpd.conf中JkMount的路由规则都放入conf/extra/httpd-urimap.conf中: /*=l ...

  9. 使用JS开发桌面端应用程序NW.js-2-开发问题小记

    前言 本文为开发nw中遇到的各种问题,仅以记录供备忘以及遇到相同问题的人的一点点解决思路. 1. package.json中的window字段无效 原因:package.json中的window字段, ...

  10. 优雅的封装ajax,含跨域

    之前写过一篇 先定一个小目标,自己封装个ajax,是基于原生js的,也就是jquery中ajax的简化版本实现的思路.众所周知,jquery的ajax是项目中最常用的请求后台的方式,也算是封装的很完美 ...