您的位置:首页 > 编程语言 > Java开发

S4.2_Struts2_ActionAdvance 在url地址中动态调用action方法

2016-12-12 17:55 821 查看
我们接下来将要创建的项目目录结构如下:



由项目S4.1_Struts2_ActionAdvance(如何下载它:点击打开链接)复制粘贴生成一个新项目 ------ S4.2_Struts2_ActionAdvance

 DMI(Dynamic Method Invocation):action的动态方法调用

第1步:在WebRoot/admin/admin.jsp页面文件中,设置动态调用action方法的url地址,注意红色字体标识的URL地址写法 ------ DMI 的url写法:

<%@ page language="java" import="java.util.*" %>

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

<%@ taglib uri="/struts-tags" prefix="s" %>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

    <title>管理员界面</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

  </head>

  <body>

    <center>

    <h1>管理员界面</h1>

    <hr>
        <li><a href="<%=path%>/admin/admin!add.action?method=添加">添加</a></li>

        <li><a href="<%=path%>/admin/admin!delete.action?method=删除">删除</a></li>

        <li><a href="<%=path%>/admin/admin!modify.action?method=修改">修改</a></li>


    <s:debug></s:debug>

    </center>

  </body>

</html>

第2步:在src/struts.xml配置文件中,找到admin子包中插入红色字体标识的DMI的action配置写法:

<?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>

    <constant name="struts.devMode" value="true" ></constant>

    <constant name="struts.i18n.encoding" value="utf-8" ></constant>

     <!-- 父包default -->

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

        <global-results>

        <result name="login_success">/login_success.jsp</result>

            <result name="login_failure">/login_failure.jsp</result>

        </global-results>

        <action name="exit">

        <result>/login.jsp</result>

        </action>

     </package>

    <!-- 子包user继承于父包default -->

    <package name="user" namespace="/user" extends="default">

        <action name="login" class="net.nw.action.LoginAction3">

        </action>

    </package>

    <!-- 子包admin继承于父包default -->

    <package name="admin" namespace="/admin" extends="default">

        <global-results>

            <result>/admin/result.jsp</result>

        </global-results>

        <action name="login" class="net.nw.action.AdminAction">
   <result>/admin/admin.jsp</result>

        </action>
        <action name="admin" class="net.nw.action.AdminAction">

        </action>


    </package>

</struts>

为了加深印象,发一张代码修改前后对比截图:



第3步:发布运行程序,看一下效果图:



本项目的下载地址:点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: