读书人

Struts2的动态步骤调用

发布时间: 2012-09-28 00:03:35 作者: rapoo

Struts2的动态方法调用

Struts2的动态方法调用


在struts2中,可以通过两种方式调用Action类的除了execute之外的其他方法。而这种方法是struts框架直接支持的。


方式1:struts.xml中的action的属性为method


?<?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><!--     <constant name="struts.enable.DynamicMethodInvocation" value="false" />    <constant name="struts.devMode" value="false" />    <package name="default" namespace="/" extends="struts-default">        <default-action-ref name="index" />        <global-results>            <result name="error">/error.jsp</result>        </global-results>        <global-exception-mappings>            <exception-mapping exception="java.lang.Exception" result="error"/>        </global-exception-mappings>        <action name="index">            <result type="redirectAction">                <param name="actionName">HelloWorld</param>                <param name="namespace">/example</param>            </result>        </action>    </package>    <include file="example.xml"/> -->    <!-- Add packages here --><!-- <package name="default" namespace="/" extends="struts-default"><action name="helloworld"><result>/helloworld.jsp</result></action></package>--><!--  使用Action 的三种方式,在企业最常用的是继承ActionSupport类 --><package name="default" namespace="/action" extends="struts-default"><action name="test01" namespace="/dmi" extends="struts-default"><action name="add" method="add"><result name="add">/add.jsp</result></action> <action name="edit" method="edit"><result>/edit.jsp</result></action><action name="delete" method="delete"><result>/delete.jsp</result></action><action name="query" method="query"><result>/query.jsp</result></action></package><!-- 动态方法调用 --><package name="dmi_method" namespace="/dmi_method" extends="struts-default"><action name="dmiMethod" ><result name="success">/result.jsp</result></action>  </package> </struts>

?

?

? ?package com.demo.action;

import com.opensymphony.xwork2.ActionSupport;public class DMIActionDemo extends ActionSupport {/** *  */private static final long serialVersionUID = 1L;public String add() {System.out.println("===========添加操作=========");System.out.println("===========添加数据=========");return "add";}public String edit() {System.out.println("===========编辑操作=========");System.out.println("===========编辑数据=========");return SUCCESS;}public String delete() {System.out.println("===========删除操作=========");System.out.println("===========删除数据=========");return SUCCESS;}public String query() {System.out.println("===========查询操作=========");System.out.println("===========查询数据=========");return SUCCESS;}}
?


方式2:动态调用方法(DMI)

不需要进行struts的配置,直接在视图页面中通过标识符号制定了要调用的方法。标识符号为"!"号。

注意:/名称空间/action名称!操作方法.action

? ? <a href="/dmi_method/dmiMethod!add.action">添加操作</a>

? ? <a href="/dmi_method/dmiMethod!edit.action">修改操作</a>

? ? <a href="/dmi_method/dmiMethod!delete.action">删除操作</a>

? ? <a href="/dmi_method/dmiMethod!query.action">查询操作</a>

?

? ??<!-- 动态方法调用 -->

<package name="dmi_method" namespace="/dmi_method" extends="struts-default"><action name="dmiMethod" ><result name="success">/result.jsp</result></action>  </package>
?

?

package com.demo.action;import com.opensymphony.xwork2.ActionSupport;public class DMIAction extends ActionSupport{public String add() {System.out.println("=======DMI 添加操作");return SUCCESS;}public String edit() {System.out.println("=======DMI 编辑操作");return SUCCESS;}public String delete() {System.out.println("=======DMI 删除操作");return SUCCESS;}public String query() {System.out.println("=======DMI 查询操作");return SUCCESS;}}
?

读书人网 >编程

热点推荐