action 方法的访问

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了action 方法的访问相关的知识,希望对你有一定的参考价值。

Action中的方法的访问:

访问Action的中的方法,默认情况下只能访问execute方法.那么多次请求就不能提交到一个Action.能不能一个模块的多次请求提交到一个Action中?

* 需要使用<action>标签中一个属性method:

 <action name="book_add" class="cn.itcast.struts2.demo4.BookAction" method="add"/>

    <action name="book_mod" class="cn.itcast.struts2.demo4.BookAction" method="mod"/>

    <action name="book_del" class="cn.itcast.struts2.demo4.BookAction" method="del"/>

    <action name="book_find" class="cn.itcast.struts2.demo4.BookAction" method="find"/>

 

* 编写Action的时候:

public class BookAction extends ActionSupport{

 

public String add() throws Exception {

    System.out.println("添加图书...");

    return NONE;

}

 

public String mod() throws Exception {

    System.out.println("修改图书...");

    return NONE;

}

 

public String del() throws Exception {

    System.out.println("删除图书...");

    return NONE;

}

 

public String find() throws Exception {

    System.out.println("查询图书...");

    return NONE;

}

}

 

***** 采用通配符的配置:

* 不使用通配符在配置Action的时候 需要配置很多次.使用了通配符的话,只配置一个就OK.

* 条件:

* 访问的路径和方法名存在某种关系就可以使用.

页面:

<h1>客户管理</h1>

<a href="${ pageContext.request.contextPath }/user_add.action">添加客户</a>

<a href="${ pageContext.request.contextPath }/user_mod.action">修改客户</a>

<a href="${ pageContext.request.contextPath }/user_del.action">删除客户</a>

<a href="${ pageContext.request.contextPath }/user_find.action">查询客户</a>

 

配置Action:

<action name="user_*" class="cn.itcast.struts2.demo4.UserAction" method="{1}"/>

*号代表是任意字符.{1}代表通配符中的第一个*号所代表的内容.

 

动态方法访问:

1.开启一个常量:

<constant name="struts.enable.DynamicMethodInvocation" value="true"/>

2.在页面中编写路径:

<a href="${ pageContext.request.contextPath }/order!add.action">添加订单</a>

<a href="${ pageContext.request.contextPath }/order!mod.action">修改订单</a>

<a href="${ pageContext.request.contextPath }/order!del.action">删除订单</a>

<a href="${ pageContext.request.contextPath }/order!find.action">查询订单</a>

***** 写法:  action的name!方法名.action

3.在struts.xml配置

<action name="order" class="cn.itcast.struts2.demo4.OrderAction"/>   

以上是关于action 方法的访问的主要内容,如果未能解决你的问题,请参考以下文章

struts2——Action 与接收参数

Action访问Servlet的API

一个Action中,可以写多个类似的业务控制方法

PHP获取用户访问IP地址的5种方法

Struct2_定义拦截器并使用注解方式作用在Action的方法中

Vuex Action中方法参数的约定