博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts2 DMI
阅读量:5100 次
发布时间:2019-06-13

本文共 2278 字,大约阅读时间需要 7 分钟。

     由于在struts 对象对URL请求的处理都是调用默认execute()方法,对于单一的业务请求这种方式比较合适.但在实际开发中业务请求类型方法多种多样,对一个Action可能有不同的请求,通过建立action能够解决这个问题,但会使程序变得越来越复杂,且编码越来越多,修一处可能动全身麻烦不容易维护.根据请求的数量不断增多这种方式显然不太合适.

   在struts2中提供了解决这类问题的方法,称之为DMI(动态调用).通过请求action对象的方法,可以实现对某一个业务逻辑处理.DMI处理方式是通过请求Aciton对象中的一个具体方法来实现动态操作.具体就是在请求action的url地址后加上请求的字符串,与aciton对象的方法进行匹配.其中action对象名称和方法之间用"!"区分开.下面以实例的方式进行说明.

例:配置环境变量请参照前面介绍的环境配置方法.

1. 在Eclipse中创建一个java web 项目名称为:Struts2DMIDemo,添加struts2支持库击开发库等.

建立文件包括:UserAction.java,struts.xml,web.xml,add.jsp,index.jsp,update.jsp文件.

Action类 UserAction.java 内容如下:

 

package com.northeasttycoon;import com.opensymphony.xwork2.ActionSupport;/** * @author NorthEastTycoon * */public class UserAction extends ActionSupport {	/**	 * 	 */	private static final long serialVersionUID = 1L;	private String info;	public String getInfo() {		return info;	}	public void setInfo(String info) {		this.info = info;	}		public String execute() throws Exception{				info ="this is add operator!";		return "sucess";	}	public String update() throws Exception{				info="this is update operator!";		return "update";	}	}

web.xml 文件内容如下:

 

Struts 2
index.jsp
struts2
org.apache.struts2.dispatcher.FilterDispatcher
struts2
/*

struts.xml 文件内容如下:

 

/add.jsp
/update.jsp

add.jsp 文件内容如下:

 

<%@ page contentType="text/html; charset=UTF-8" %><%@ taglib prefix="s" uri="/struts-tags" %>success 

 

 index.jsp 文件内容如下:

 

<%@ page contentType="text/html; charset=UTF-8" %><%@ taglib prefix="s" uri="/struts-tags" %>Hello World
sucess
update

 

 update.jsp内容如下:

<%@ page contentType="text/html; charset=UTF-8" %><%@ taglib prefix="s" uri="/struts-tags" %>update 

 

程序目录结构如下:

运行效果图:

(1) 在浏览器中输入:http://localhost:8080/Struts2DMIDemo 出现以下界面

 

 (2)点击sucess 进入以下界面

 

 (3)点击udpate 进入以下界面

 

以上为struts2动态调用实例.

 

备注:

    作者:东北大亨

    博客:                                           

版权为个人所有,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

转载于:https://www.cnblogs.com/northeastTycoon/p/5618450.html

你可能感兴趣的文章
leetcode(106)从中序遍历和后序遍历构建二叉树
查看>>
求众数leetcode(169)+投票算法
查看>>
leetcode(120)三角形最小路径之和
查看>>
html样式
查看>>
插入、删除和随机查询时间复杂度都为O(1) leetcode 381
查看>>
实战Netty集群
查看>>
多线程 Threading Multiprocessing(Python)
查看>>
多线程
查看>>
Hadoop-MapReduce
查看>>
Hadoop-HDFS
查看>>
CodeChef - METEORAK Meteor
查看>>
andorid月总结
查看>>
iis部署错误:HTTP 错误 500.21 - Internal Server Error
查看>>
Linux系统知识汇总
查看>>
spring mvc 提供的几个常用的扩展点
查看>>
Spring对字段和集合的注入---依赖注入
查看>>
Java 学习 day09
查看>>
P4345 [SHOI2015]超能粒子炮·改
查看>>
暂且解决INSTALL_FAILED_SHARED_USER_INCOMPATIBLE错误
查看>>
Windows10下安装MySQL8.0
查看>>