Struts2框架使用(三)之struts.xml配置

在Struts2的配置文件中,可以采用分模块的方法来配置,在功能复杂的系统中,使用分模块方法,可以使结构更清晰。

例如:

下面,有车辆模块以及资产模块,将其分为两个xml文件。

<?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>
  <package name="cheliang" namespace="/cheliang" extends="struts-default">
      <action name="cheliang" class="com.mrlv.action.CheLiangAction">
          <result name="success">${pageContext.request.contextPath}/success.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>
  <package name="zichan" namespace="/zichan" extends="struts-default">
      <action name="zichan" class="com.mrlv.action.ZiChanAction">
          <result name="success">${pageContext.request.contextPath}/success.jsp</result>
      </action>
  </package>
</struts>

然后再struts.xml整合。

<?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>
  <include file="cheliang.xml"></include>
  <include file="zichan.xml"></include>
</struts>

如此项目结构就更加清晰了。

接下来是使用通配符和动态方法。

首先创建index.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>Insert title here</title>
</head>
<body>
<h1>通配符</h1>
<a href="student_list" target="_blank">学生信息查询</a>&nbsp;
<a href="student_add" target="_blank">学生信息添加</a>&nbsp;
<a href="student_update" target="_blank">学生信息修改</a>&nbsp;
<a href="student_delete" target="_blank">学生信息删除</a>&nbsp;
<br/><br/>
<a href="grade_list" target="_blank">班级信息查询</a>&nbsp;
<a href="grade_add" target="_blank">班级信息添加</a>&nbsp;
<a href="grade_update" target="_blank">班级信息修改</a>&nbsp;
<a href="grade_delete" target="_blank">班级信息删除</a>&nbsp;<br/>
<!-- -->
<h1>动态方法调用</h1>
<a href="student!list" target="_blank">学生信息查询</a>&nbsp;
<a href="student!add" target="_blank">学生信息添加</a>&nbsp;
<a href="student!update" target="_blank">学生信息修改</a>&nbsp;
<a href="student!delete" target="_blank">学生信息删除</a>&nbsp;
<br/><br/>
<a href="grade!list" target="_blank">班级信息查询</a>&nbsp;
<a href="grade!add" target="_blank">班级信息添加</a>&nbsp;
<a href="grade!update" target="_blank">班级信息修改</a>&nbsp;
<a href="grade!delete" target="_blank">班级信息删除</a>&nbsp;<br/>
</body>
</html>

创建好jsp页面后,写Action,如下:

package com.mrlv.action;

import com.opensymphony.xwork2.ActionSupport;

public class StudentAction extends ActionSupport{

    /**
     *
     */
    private static final long serialVersionUID = 1L;
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String list()throws Exception{
        System.out.println("学生查找");
        name="学生查找";
        return SUCCESS;
    }

    public String add()throws Exception{
        System.out.println("学生添加");
        name="学生添加";
        return SUCCESS;
    }

    public String update()throws Exception{
        System.out.println("学生修改");
        name="学生修改";
        return SUCCESS;
    }

    public String delete()throws Exception{
        System.out.println("学生删除");
        name="学生删除";
        return SUCCESS;
    }
}

注意:这里的方法命名是有规范的。

接下来配置struts.xml文件:

<?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>
  <include file="cheliang.xml"></include>
  <include file="zichan.xml"></include>
  <package name="manage" namespace="/" extends="struts-default">
      <action name="student_*" class="com.mrlv.action.StudentAction" method="{1}">
          <result name="success">success.jsp</result>
      </action>

      <action name="grade_*" class="com.mrlv.action.GradeAction" method="{1}">
          <result name="success">success.jsp</result>
      </action>

      <!--  更加方便的写法,不过这个写法需要将jsp页面的href的第一个字母大写,这也是命名规范的原因
      <action name="*_*" class="com.java1234.action.{1}Action" method="{2}">
          <result name="success">success.jsp</result>
      </action> -->
  </package>

  <!-- 开启动态方法调用:-->
  <constant name="struts.enable.DynamicMethodInvocation" value="true" />
</struts>

接下来,将项目跑起来。

如此。便是运行成功了。

时间: 2024-08-03 06:56:17

Struts2框架使用(三)之struts.xml配置的相关文章

Struts2 之 Validation 拦截器 基于XML配置方式实现(验证框架)

基于XML配置方式实现输入校验 I:定义Action *  要继承ActionSupport或者实现Validateable接口: II:配置struts_validate.xml文件 *  验证出错转向的页面                struts.xml配置<result name=“input”>/validate/loginxml.jsp</result>                  其中input转向是在action中已经定义好的. III:配置验证的xml文件

二、struts.xml配置及例程

1.配置文件的优先级 在struts2中一些配置(比如常量)可以同时在struts-default.xml(只读性),strtus-plguin.xml(只读性),struts.xml,struts.properties和web.xml文件中配置,它们的优先级逐步升高,即是说后面的配置会覆盖掉前面相同的配置. 2.配置形式 下面以对struts.i18n.encoding=UTF-8的配置为例进行说明: 在struts.xml配置形式如下: <constant name="struts.i

Java Persistence with MyBatis 3(中文版) 第三章 使用XML配置SQL映射器

关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,MyBatis鼓励开发者可以直接使用数据库,而不是将其对开发者隐藏,因为这样可以充分发挥数据库服务器所提供的SQL语句的巨大威力.与此同时,MyBaits消除了书写大量冗余代码的痛苦,它使使用SQL更容易. 在代码里直接嵌套SQL语句是很差的编码实践,并且维护起来困难.MyBaits使用了映射器配置文件或注解来配置SQL语句.在本章中,我们会看到具体怎样使用映射器配置文件来配置映射SQL语句.

转载:struts.xml配置

** http://blog.csdn.net/thinkscape/article/details/7462670 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.o

Struts2框架学习(三) 数据处理

Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:ValueStack一种数据结构,操作数据的方式为:先进后出 OGNL : Object-GraphNavigation Language(对象图形导航语言)将多个对象的关系使用一种树形的结构展现出来,更像一个图形,那么如果需要对树形结构的节点数据进行操作,那么可以使用 对象.属性 的方式进行操作,OGNL技

路径名称和struts.xml配置不一致导致struts2报404

struts.xml中写的是<result name="...">authorityInterceptor/xxx.jsp</result> 但是实际的文件结构是/authorityInteceptor/xxx.jsp struts2就报了404,所以遇到struts2报404的时候注意检查一下是不是这个问题

SSH 框架整合(maven版本 xml配置方式)

如何整合Struts2 Hibernate 和Spring 首先你必须了解三个框架是如何独立运行的:代码下载:http://download.csdn.net/detail/zhanglinlang/9775160 Struts2 是通过在web.xml 中 Filter拦截器来启动自己的核心类StrutsPrepareAndExecuteFilter,完成事件的分发. Spring 是通过 在web.xml 注册监听器来监听ContextLoaderListener,监听web应用的启动事件来

通过struts.xml配置为属性注入值_2015.01.04

01:web.xml配置: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h

struts.xml配置详解

1.<include> 利用include标签,可以将一个struts.xml配置文件分割成多个配置文件,然后在struts.xml中使用<include>标签引入其他配置文件. 比如一个网上购物程序,可以把用户配置.商品配置.订单配置分别放在3个配置文件user.xml.goods.xml和order.xml中,然后在struts.xml中将这3个配置文件引入: struts.xml: 1 2 3 4 5 6 7 8 9 10 <?xml version="1.0