尚学堂马士兵struts2 课堂笔记(四)
来源:互联网 发布:淘宝手淘首页怎么上 编辑:程序博客网 时间:2024/04/28 13:21
27 结果类型
主要就四种种 dispatch和rediret chain和drdirectaction
<package name="resultTypes" namespace="/r" extends="struts-default"> <action name="r1"> <result type="dispatcher">/r1.jsp</result> </action> <action name="r2"> <result type="redirect">/r2.jsp</result> </action> <action name="r3"> <result type="chain">r1</result> </action> <action name="r4"> <result type="redirectAction">r2</result> </action> </package>
第一个只能跳转到视图jsp/html 不能跳转到action
后三个可以跳转到action
redirect也可以跳转到action
不过redirect与redirectaction底层都是重定向,换句话说,之前的参数都丢失了
r1.jsp里面就是写了个"r1"字符串
r2.jsp类似
当用dispatch时 浏览器地址栏上是localhost:8900/webname/r/r1
当用redirect时 浏览器地址栏上是localhost:8900/webname/r2.jsp
当用chain时 浏览器地址栏上是localhost:8900/webname/r/r3
当用redirectAction 浏览器地址栏上是localhost:8900/webname/r2.jsp
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
2015年11月14日 修改
关于后两种的差异,请大家移步
拙作 Struts Chain ClassCastException Aop
2015年11月14日 修改
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
30 全局结果集
struts如下
<package name="user" namespace="/user" extends="struts-default"> <global-results> <result name="mainpage">/main.jsp</result> </global-results> <action name="index"> <result>/index.jsp</result> </action> <action name="user" class="com.bjsxt.struts2.user.action.UserAction"> <result>/user_success.jsp</result> <result name="error">/user_error.jsp</result> </action> </package> <package name="admin" namespace="/admin" extends="user"> <action name="admin" class="com.bjsxt.struts2.user.action.AdminAction"> <result>/admin.jsp</result> </action> </package>注意 admin这个package里面的action想要用定义在user里面的全局结果集就得让它继承user
响应的类如下
package com.bjsxt.struts2.user.action;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport {private int type;//省略get/set方法@Overridepublic String execute() throws Exception {if(type == 1) return "success";else if (type == 2) return "error";else return "mainpage";}}index.jsp如下
<?xml version="1.0" encoding="GB18030" ?><%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><% String context = request.getContextPath(); %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030" /><title>Insert title here</title></head><body>Result类型<ol><li><a href="user/user?type=1">返回success</a></li><li><a href="user/user?type=2">返回error</a></li><li><a href="user/user?type=3">返回global result</a></li><li><a href="admin/admin">admin,继承user包</a></li></ol></body></html>
31 动态结果集
<package name="user" namespace="/user" extends="struts-default"> <action name="user" class="com.bjsxt.struts2.user.action.UserAction"> <result>${r}</result> </action> </package>这里面的${}是什么? 别急 往下看
package com.bjsxt.struts2.user.action;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport {private int type;private String r;//省略get/set方法@Overridepublic String execute() throws Exception {if(type == 1) r="/user_success.jsp";else if (type == 2) r="/user_error.jsp";return "success";}}大家看到了 struts.xm里面的r是useraction里面的一个属性 而在值栈里面 会把action里面的属性都保存下来
通过$就可以访问值栈里面的内容了
不过 这个动态结果 似乎不常用
另外 刚才写博客的时候脑子忽然抽了一下
返回值后 result就是下面这个呀 没有success呀
<result>/user_success.jsp</result>如果你也忽然脑子抽了 没想明白这个问题 就自己去查资料!!!
- 尚学堂马士兵struts2 课堂笔记(四)
- 尚学堂马士兵struts2 课堂笔记(一)
- 尚学堂马士兵struts2 课堂笔记(二)
- 尚学堂马士兵struts2 课堂笔记(三)
- 尚学堂马士兵 Struts2 笔记心得修改版
- 尚学堂马士兵servlet/JSP笔记(四、JSP)
- 尚学堂马士兵servlet/JSP笔记(四、JSP)
- 尚学堂马士兵struts2操作手册
- 尚学堂马士兵老师oracle笔记
- 尚学堂_马士兵_oracle_笔记
- 尚学堂马士兵Linux视频教程笔记
- 尚学堂马士兵老师oracle笔记
- 马士兵尚学堂Struts2笔记——以及工作机制
- 尚学堂马士兵Oracle学习笔记之四:开始学习DML语句
- 看尚学堂马士兵JSP的视频笔记
- 尚学堂马士兵servlet/JSP笔记(二、servlet)
- 尚学堂马士兵servlet/JSP笔记(二、servlet)
- 尚学堂Oracle 课堂笔记(收藏)
- 数据结构和算法系列8 七大排序之归并排序
- 分析MySQL数据类型的长度
- 数据结构和算法系列9 五大查找之顺序查找
- 解决mysql手动修改root密码连接不了的问题。
- OCP 1Z0 052 64
- 尚学堂马士兵struts2 课堂笔记(四)
- 批处理详解
- Android 常见错误
- 数据结构和算法系列17 图
- 位段 字节对齐
- sql
- shell-crontab(定时调度)
- C#中得到程序当前工作目录和执行目录的一些方法
- 6-斯坦福大学自然语言处理第四课“语言模型(Language Modeling)