Struts2中Action各种转发类型
Struts2:
Action中result的各种转发类型:
内部请求转发dispatcher(默认值)
 redirect、redirectAction、plainText
1.redirect是重定向到某个路径、视图
<action name="redirect">/***重定向
   <result type="redirect">/employeeAdd.jsp?username=${username}</result>
</action>
URLEncoder.encode("传智播客","UTF-8");
取值解码
在前台<% = URLDecoder.decode(new String(request.getParameter("username").getBytes("ISO8859-1"),"UTF-8"),"UTF-8") %>
2.redirectAction是重定向到某个Action
<action name="redirectAction">
  <resutl type="redirectAction">Action的名称</resutl>
</action>
重定向到另一个包下的Action如何?
<action name="redirectAction">
  <resutl type="redirectAction">
      <param name="actionName">Action名称</param>给源代码的这两个属性注入值
      <param name="namespace">/control/department</param>
  </resutl>
</action>
3.plainText适用于查看某个JSP源代码即显示源代码的时候使用
<action name="plainText">
  <resutl type="plainText">/index.jsp</result>
</action>
结果会将整个视图的源代码输出在浏览器上给用户看UTF-8的模式呈现不会说中文乱码
<action name="plainText">
  <resutl type="plainText">
   <param name="location">/index.jsp</param>
   <param name="charSet">UTF-8</param>
  </result>
</action>
4.大多数Action公用的视图配置
<global-results>
<result name="message">/WEB-INF/page/message.jsp</result>
</global-results>
这段代码放在某个<package></package>代码段中的Action是公用视图外如果想定义全局的话可以
<package name="base" extends="struts-default">
</package>
其它包继承 extentds="base"就OK 各个包中的Action使用公共视图就这样定义全局视图
-------------------------------------------------------------------------------------------------------------
为Action的属性注入值
要实现依赖注入必须提供Set方法
<struts>
<package name="itcast" namespace="/control/employee" extends="struts-default">
   <action name="list" class="cn.itcast.action.HelloWorldAction" method="execute">
     <param name="savepath">/images</param>给Action中的savepath属性注入的值
        <result name="success">/WEB-INF/page/message.jsp</result>
   </action>
</package>
</struts>
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <constant name="struts.action.extension" value="lp" />
- <package name="login" namespace="/" extends="struts-default">
- <action name="login" class="myclass.struts2.action.LoginAction">
- <!--使用重定向的跳转方式 -->
- <result name="succ" type="redirectAction">
- <!-- 不同包action的访问
- <param name="actionName">logout</param>
- -->
- <!--不同包action的访问并传值方法一
- <param name="actionName">logout?username=${username}&userpassword=${userpassword}</param>
- -->
- <!--不同包action的访问并传值方法二 -->
- <param name="actionName">logout</param>
- <param name="username">${username}</param>
- <param name="userpassword">${userpassword}</param>
- <param name="namespace">/logout</param>
- </result>
- <result name="fail">/failure.jsp</result>
- </action>
- </package>
- <package name="logout" namespace="/logout" extends="struts-default">
- <action name="logout" class="myclass.struts2.action.LogoutAction">
- <result name="exit">/exit.jsp</result>
- </action>
- </package>
- </struts>
Struts2中Action各种转发类型的更多相关文章
- struts2中的结果视图类型
		实际上在Struts2框架中,一个完整的结果视图配置文件应该是: <action name="Action名称" class="Action类路径" me ... 
- struts2 中的 result 返回类型是 json 的配置问题
		struts2 中的 result 返回类型是 json 的配置问题 1.引入包(本文中的包全部引自struts-2.1.8.1\lib): struts2-json-plugin-2.1.8.1.j ... 
- Struts2中Action接收参数的方法主要有以下三种:
		Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数(最原始的方式): a.定义:在Action类中定义属性,创建get和set方法: b.接 ... 
- 基于用户登陆的struts2中action的分类详解
		在struts2中action的分类有:继承 ActionSupport 实现 Action,模型驱动(ModelDriven)的 Action,多方法的 Action三种方式. 1.继承 Actio ... 
- struts2中action手动获取參数
		struts2中action手动获取Session,jsp页面參数 1. ActionContext 在Struts2开发中,除了将请求參数自己主动设置到Action的字段中,我们往往也须要在Acti ... 
- Struts2中Action取得表单数据的几种方法
		Struts2中Action取得表单数据的几种方法 Struts2中Action获得表单数据的几种方法struts2 Action获取表单传值 1.通过属性驱动式JSP: <form act ... 
- 关于struts2中action请求会执行两次的问题
		关于struts2中action请求会执行两次的问题 在struts2中发现,调用action中的方法,方法会被执行两次,后来发现调用的方法是get开头的,把它改为其他名称开头的后,就不会执行 ... 
- Controller 中Action 返回值类型  及其 页面跳转的用法
		•Controller 中Action 返回值类型 View – 返回 ViewResult,相当于返回一个View 页面. -------------------------------- ... 
- struts2中Action到底是什么,怎么理解
		struts2中Action到底是什么,怎么理解 1.配置完web.xml2.创建视图页面login.jsp3.创建业务控制器LoginAction类(解释说:创建业务控制器LoginAction类, ... 
随机推荐
- Ldap实现AD域认证
			1.java Ldap基础类 package com.common; import java.io.FileInputStream; import java.io.IOException; impor ... 
- 如何让tomcat服务器运行在80端口,并且无需输入项目名即可访问项目()
			这个问题最开始遇到的时候是半年前,自己买了个服务器玩,但是域名解析的时候出了问题,我查了查资料才知道腾讯云是默认解析到80端口,而且还改不了. 首先是修改tomcat运行端口号,默认是8080,但是我 ... 
- eclipse创建maven项目及Javaweb项目
			1.开启eclipse,右键new——>other,如下图找到maven project 2.选择maven project,显示创建maven项目的窗口 3.在搜索框中搜索“web”,选择,n ... 
- Thinkphp5 对接百度云对象存储 BOS (上传、删除)
			首先下载SDK包可以在 官网下载,或者在项目根目录使用composer . composer require baidubce/bce-sdk-php 压缩包里面有五个文件,实际运用到只有两个,然后放 ... 
- PHP 通过命令异步执行PHP程序
			通过PHP执行系统命令调用PHP执行程序,让进程挂起到后台执行,不影响用户页面交互. 控制器调用命令,不用等待,后台创建一个进程执行程序. system(“nohup php command.php ... 
- ruby中的return方法及class实例方法的initialize方法
			return是函数的返回值 class Mtring def initialize(str) @name = str end def aa ary = @name.split(/:/) return ... 
- (数据科学学习手札39)RNN与LSTM基础内容详解
			一.简介 循环神经网络(recurrent neural network,RNN),是一类专门用于处理序列数据(时间序列.文本语句.语音等)的神经网络,尤其是可以处理可变长度的序列:在与传统的时间序列 ... 
- 【调试】Linux下超强内存检测工具Valgrind
			[调试]Linux下超强内存检测工具Valgrind 内容简介 Valgrind是什么? Valgrind的使用 Valgrind详细教程 1. Valgrind是什么? Valgrind是一套Lin ... 
- CF 1042 F. Leaf Sets
			F. Leaf Sets http://codeforces.com/contest/1042/problem/F 题意: 将所有的叶子节点分配到尽量少的集合,一个可行的集合中两两叶子节点的距离< ... 
- 说说Ruby中的Symbol类
			相信大多人在学习Ruby过程中,都被Symbol类型迷惑过.因为其他语言基本没有这个类.而且它太灵活了.很多人只知其一不知其二. 本人查了不少资料,自己总结一下. 首先来看一下Ruby之父所著的< ... 
