• 结果页面的配置


    -------------------siwuxie095

       

       

       

       

       

       

       

    (一)全局结果页面

       

       

    1、result 标签是根据 Action 方法的返回值,配置到不同的路径

       

       

    2全局结果页面是指在同一个 package 标签下配置的 Action 中

    返回相同的字符串的值,且都跳转到该页面

       

    「返回值相同,结果页面相同」

       

       

       

    3、在 package 标签下使用 global-results 标签进行配置,如下

       

       

    1)编写页面

       

    hello.jsp:

       

    <%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>Hello</title>

    </head>

    <body>

    <h1>Hello Struts2 ...</h1>

    </body>

    </html>

       

       

       

    2)编写 Action

       

    BookAction.java:

       

    package com.siwuxie095.action;

       

    import com.opensymphony.xwork2.ActionSupport;

       

    public class BookAction extends ActionSupport {

    @Override

    public String execute() throws Exception {

    System.out.println("--- book ---");

    return "success";

    }

    }

       

       

       

    OrderAction.java:

       

    package com.siwuxie095.action;

       

    import com.opensymphony.xwork2.ActionSupport;

       

    public class OrderAction extends ActionSupport {

    @Override

    public String execute() throws Exception {

    System.out.println("--- order ---");

    return "success";

    }

    }

       

       

       

    3)配置 Action

       

    1)普通结果页面配置

       

    <package name="demo" extends="struts-default" namespace="/">

    <action name="book" class="com.siwuxie095.action.BookAction">

    <result name="success">/hello.jsp</result>

    </action>

    <action name="order" class="com.siwuxie095.action.OrderAction">

    <result name="success">/hello.jsp</result>

    </action>

    </package>

       

       

    2)全局结果页面配置

       

    <package name="demo" extends="struts-default" namespace="/">

    <global-results>

    <result name="success">/hello.jsp</result>

    </global-results>

    <action name="book" class="com.siwuxie095.action.BookAction"></action>

    <action name="order" class="com.siwuxie095.action.OrderAction"></action>

    </package>

       

       

       

    4)访问路径

       

    1)http://localhost:8080/工程名/book

       

    2)http://localhost:8080/工程名/order

       

    「最好加上 .action 后缀,以防某些浏览器无法访问」

       

       

       

       

       

       

       

    (二)局部结果页面

       

       

    1局部结果页面是指在某个 Action 中根据该字符串的值

    进行页面的跳转,只对该 Action 有效

       

    「相对 全局结果页面 而言」

       

       

       

    2、既配置了全局结果页面,又配置了局部结果页面,最终

    以局部结果页面为准,如下

       

       

    1)编写页面

       

    word.jsp:

       

    <%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <title>World</title>

    </head>

    <body>

    <h1>World Struts2 ...</h1>

    </body>

    </html>

       

       

       

    2)局部结果页面配置

       

    <package name="demo" extends="struts-default" namespace="/">

    <!-- 全局结果页面配置 -->

    <global-results>

    <result name="success">/hello.jsp</result>

    </global-results>

    <action name="book" class="com.siwuxie095.action.BookAction"></action>

    <action name="order" class="com.siwuxie095.action.OrderAction">

    <!-- 局部结果页面配置 -->

    <result name="success">/world.jsp</result>

    </action>

    </package>

       

       

       

       

       

       

       

    (三)result 标签的 type 属性

       

       

    1type 属性:如何到路径中(转发 或 重定向)

       

    1转发是一次请求,地址栏不变

       

    2重定向是两次请求,地址栏变化

       

       

       

    2、type 属性值

       

    1dispatcher(默认值),转发到页面

       

       

    2redirect,重定向到页面

       

       

    3chain,转发到 Action(因缓存问题,一般不使用)

       

       

    4redirectAction,重定向到 Action

       

       

       

    3、总结

       

    1)dispatcher 和 redirect 一般是配置到页面

       

    2)chain 和 redirectAction 一般是配置到 Action

       

       

       

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    proxy
    Reflect
    五一假期总结
    寄生组合式继承
    promise A+ 第二遍
    promise A+ 规范 第三遍
    类型转化
    作用域和闭包
    手写 instanceof 第二遍
    vue eltree 单选实现
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/7327108.html
Copyright © 2020-2023  润新知