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 ...
随机推荐
- 百度编辑器修改,不让它自动替换html标签
在ueditor.all.js中找到 UE.plugins['defaultfilter'] = function () 注释或删掉这块代码. 注:ueditor.all.min.js 中也一样,格式 ...
- CSS实现底部固定
html代码结构 <body> <div class="wrap"> <div class="head"></div& ...
- BootStrap学习------栅格
使用Bootstrap前端框架-栅格 要点 1.使用Bootstrap需要引入的css和js: (1)bootstrap.min.js (2)bootstrap.min.css 2.栅格系统需要通过& ...
- 【8-22】java学习笔记04
java基础类库 Scanner类(java.util.scanner) Scanner对象.hasNextXxx(),hasNext()默认方法为字符串://Returns true if this ...
- linux 打造man中文帮助手册
博客转自:http://my.oschina.net/hbzhangmao/blog/354533 学IT的同学都知道, Linux是一个好东西, 但初学者往往会因为太多的命令觉得头疼, 更头疼的是所 ...
- Excel 使用宏批量修改单元格内指定文字为红字
-> step 1:新建宏,进入编辑,使用如下代码: Sub Ss()Dim c As RangeFor Each c In ActiveSheet.UsedRange i = 1 While ...
- Oracle11安装
图片上传失败,重新编辑 1.选择安装目录,一般设置数据库口令为system 2.环境检查 3.注册页面,直接下一步 4.点击安装按钮 5.进入安装界面 6.等待 7.直到出现下面界面,点击口令管理 8 ...
- [AngularJS] jQuery时代
抹平浏览器差异的jQuery出现了 jQuery有什么 jQuery使得开发无刷新动态页面(AJAX)或者单页应用(SAP)变得 相当简单. 标准的HTML页面是静态的,被浏览器渲染后就产生了一个DO ...
- 【C语言入门教程】1.3 C语言“32个”关键字
关键字是已被C语言标准作为命令.数据类型或者固定函数名的字母组合.关键字不能被用做变量名或函数名.下面列举了C语言的32个关键字,它们遵循C语言的语法使用,形成了C程序设计语言. 序号 关键字 说 ...
- Java Annotation自定义注解详解
在开发过程中总能用到注解,但是从来没有自己定义过注解.最近赋闲在家,研究整理了一番,力求知其然知其所以然. 本文会尝试描述什么是注解,以及通过一个Demo来说明如何在程序中自定义注解.Demo没有实际 ...