五 Struts2 配置文件

一.struts.xml详解
1.package:包 属性:name=命名 namespace=在action访问路径前面加的前缀 extends=继承另外的包
  action:name=action的访问路径 class="action"的完整包路径 method=指定访问的方法 (还可以url动态访问)
  gboal-result:全局的跳转
  intercepts:拦截器
  gboal-exception-mapping: 异常拦截处理
2.include:可以将struts.xml拆分成多个配置文件,将其引用 file="文件路径"
3.constant:常量,是一些功能的开关

二.动态访问action中的自定义方法
  在url后面加上!+方法名
  例如:http://localhost:8888/Struts2/stu!select

三.结果类型:

<result name="xxx" type="value">stu!select?page=1</result>
  1.dispatcher:转发,默认
  2.redirect:重定向
  3.stream:流,用于文件下载

如果一个结果不是引导到页面而是继续访问下一个action中的操作,其type必须是redirect

实例:增删改查

  CRUD.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<html>
<head>
<base href="<%=basePath%>"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="crud!add">新增</a><br>
<a href="crud!del">删除</a><br>
<a href="crud!update">修改</a><br>
<a href="crud!query">查询</a><br>
</body>
</html>

  Struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <include file="struts-gy.xml"></include>
</struts>

  Struts-gy.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <package name="my" namespace="/" extends="struts-default">
        <action name="login" class="com.action.LoginAction" method="login">
            <result name="success" type="redirect">/jsp/success.jsp</result>
        </action>
        <action name="crud_add" class="com.action.CRUDAction" method="add">
            <result name="success">/jsp/success.jsp</result>
        </action>
        <action name="crud_del" class="com.action.CRUDAction" method="del">
            <result name="success">/jsp/success.jsp</result>
        </action>
        <action name="crud" class="com.action.CRUDAction">
            <result name="success">/jsp/success.jsp</result>
            <result name="del" type="redirect">/crud!query</result>
        </action>
    </package>
</struts>

  CRUDAction.java

package com.action;

public class CRUDAction {
    public String add(){
        System.out.println("新增");
        return "success";
    }
    
    public String del(){
        System.out.println("删除");
        return "del";
    }
    public String update(){
        System.out.println("修改");
        return "success";
    }
    public String query(){
        System.out.println("查询");
        return "success";
    }
    
}
原文地址:https://www.cnblogs.com/wlxslsb/p/10785169.html