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 方法的访问的更多相关文章
- Asp.net mvc 中Action 方法的执行(一)
[toc] 在 Aps.net mvc 应用中对请求的处理最终都是转换为对某个 Controller 中的某个 Action 方法的调用,因此,要对一个请求进行处理,第一步,需要根据请求解析出对应的 ...
- Struts2(四):在Action中如何访问Web资源
1.什么WEB资源? HttpServletRequest,HttpServletRespone,HttpApplication,ServletContext,HttpSession等原生Servle ...
- [原创]java WEB学习笔记55:Struts2学习之路---详解struts2 中 Action,如何访问web 资源,解耦方式(使用 ActionContext,实现 XxxAware 接口),耦合方式(通过ServletActionContext,通过实现 ServletRequestAware, ServletContextAware 等接口的方式)
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Asp.net mvc 中Action 方法的执行(二)
[toc] 前面介绍了 Action 执行过程中的几个基本的组件,这里介绍 Action 方法的参数绑定. 数据来源 为 Action 方法提供参数绑定的原始数据来源于当前的 Http 请求,可能包含 ...
- MVC教程五:Action方法的返回类型
MVC中的Action方法的返回值一般有以下几种: 类型 s说明 EmptyResult 不进行任何操作 ContentResult 将指定内容作为文本输出 JsonResult 输出JSON字符串 ...
- TempData["a"]多个Action方法之前共享数据
ViewData["a"]只可以在自己视图的页面里被访问,但TempData["a"]可以多个Action方法之前共享数据,比如在 @{Html.RenderA ...
- Action方法调用
一.Action访问路径 Action的访问路径是由struts.xml文件中配置的Action所在包的命名空间,Action的名字和常struts.action.extension共同决定的 例如: ...
- Ajax跨域请求action方法,无法传递及接收cookie信息(应用于系统登录认证及退出)解决方案
最近的项目中涉及到了应用ajax请求后台系统登录,身份认证失败,经过不断的调试终于找到解决方案. 应用场景: 项目测试环境:前端应用HTML,js,jQuery ajax请求,部署在Apache服务器 ...
- Asp.net Controller中View 和Action方法认证Authorize 及对AuthorizeAttribute扩展
Asp.net Controller中View和Action方法认证Authorize 在建立Web 站点安全性时 1.登录后才可访问系统文件 ——限制 Forms认证 <authenticat ...
随机推荐
- 边框(border)边距(margin)和间隙(padding)属性的区别
边框属性(border):用来设定一个元素的边线.边距属性(margin):用来设置一个元素所占空间的边缘到相邻元素之间的距离.间隙属性(padding):用来设置元素内容到元素边界的距离.这三个属性 ...
- Centos6.5搭建java开发环境
一.安装jdk 1.查看Linux自带的JDK是否已安装 java –version 如果出现openjdk,最好还是先卸载掉openjdk,在安装sun公司的jdk. 2.查看jdk信息 rpm - ...
- SCP 命令(转)
\ svn 删除所有的 .svn文件 find . -name .svn -type d -exec rm -fr {} \; linux之cp/scp命令+scp命令详解 名称:cp 使用权限: ...
- Mysql存储过程查询结果赋值到变量的方法
Mysql存储过程查询结果赋值到变量的方法 把查询结果赋值到变量,大部分情况下使用游标来完成,但是如果明确知道查询结果只有一行(例如统计记录的数量,某个字段求和等),其实可以使用set或into的 ...
- tomcat启动异常(严重: Dispatcher initialization failed Unable to load configuration. - [unknown location] )
严重: Dispatcher initialization failed Unable to load configuration. - [unknown location] at com.opens ...
- VMnet1和V8
vmware默认使用了两个虚拟网卡: vmnet1 v1 vmnet8 v8 vmnet1是host-only,也就是说,选择用vmnet1的话就相当于VMware给你提供了一个虚拟交换机,仅将虚拟机 ...
- phpmyadmin中访问时出现2002 无法登录 MySQL 服务器
phpmyadmin中访问时出现2002 无法登录 MySQL 服务器! 解决方法如下: 修改phpmyadmin目录中libraries文件夹下的config.default.php文件 $cfg[ ...
- POJ 1265 Area
有一种定理,叫毕克定理.... Area Time Limit: 1000MS Memory Limit: 10000K Total Sub ...
- .net的一些新语法的整理
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...
- Javascript高级程序设计——面向对象之实现继承
原型链: 构造函数中都有一个prototype属性指针,这个指针指向原型对象,而创建的实例也有指向这个原型对象的指针__proto__.当实例查找方法时先在实例上找,找不到再通过__proto__到原 ...