Webwork【06】Action 调用】的更多相关文章

详解Webwork中Action 调用的方法 从三方面介绍webwork action调用相关知识: 1.Webwork 获取和包装 web 参数 2.这部分框架类关系 3.DefaultActionProxyFactory.DefaultActionProxy.DefaultActionInvocation 终于要开始 webwork 核心业务类的总结,webwork 通过对客户端传递的 web 参数重新包装,进行执行业务 Action 类,并反馈执行结果,本篇源码分析对应下图 WebWork…
一路走来,终于要开始 webwork 核心业务类的总结,webwork 通过对客户端传递的 web 参数重新包装,进行执行业务 Action 类,并反馈执行结果,本篇源码分析对应下图 WebWork 框架流转图中红色框的地方. 1.这部分框架类关系 2.Webwork 获取和包装 web 参数 每个Web 框架或多或少的对 Web 请求参数的包装,用来拿来方便自己使用,当然webwork 也不例外. Webwork 每次响应请求的入口方法: public void service(HttpSer…
一路走来,终于要开始 webwork 核心业务类的总结,webwork 通过对客户端传递的 web 参数重新包装,进行执行业务 Action 类,并反馈执行结果,本篇源码分析对应下图 WebWork 框架流转图中红色框的地方. 1.这部分框架类关系 2.Webwork 获取和包装 web 参数 每个Web 框架或多或少的对 Web 请求参数的包装,用来拿来方便自己使用,当然webwork 也不例外. Webwork 每次响应请求的入口方法: public void service(HttpSer…
之前想的比较简单,请求到达controller的时候,传给action的参数没有经过任何封装,就是一个Map.然后action再调用service的时候,传递的参数也是map @Controller public class DepositController extends BaseController{ @TransactionMapping(transaction = "Deposit") public Map Deposit(Map request) { Map map = c…
对于Struts2源代码的分析已经有些时日了,虽然网上有很多解读代码,不过自己还是写一个放上来,供大家参考一下. 解读过程: 直接在action类中打断点(包括构造函数和待执行方法)进行debug调试,查看调用栈即可找到整个执行过程,下面用一张图来表述. 说明一下: 1.下面样例对应Action类为UserAction,在步骤9创建,待调用的方法为addUser 2.因为默认拦截器比较多,下面样例只列了两个拦截器,ExceptionMappingInterceptor和DebuggingInte…
近期修了几个struts2.1升级到2.3后动态方法调用失效的bug,深有感悟, 原始方法能够參考我之前的博文:struts2.1升级到2.3后动态调用方法问题 可是我那种原始方法有一个局限,就是在submit那里写下的action不起作用,就算启动了动态方法调用也不行(我想应该是struts2.3的一个bug),所以为了完好这个功能,这里我再说一个用js的方法. 在<s:submit value="提交" onclick="return submitAction('某…
web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/we…
我们在开发中会遇到和其他应用的交互情形,下面是一个简单的方式.整个的使用类似“使用intent调用系统自带的拍照应用并获得结果”. 先看页面:     我们看看实现步骤. 第一个应用 DEMO1: 1.创建一个自定义的action, 使用intent发出 String action = "zyf.demo.customAction"; Intent n = new Intent(action); 2.附件一些自定义的内容,使用putExtra n.putExtra("key1…
[工程截图] [PersonDao.java] package com.HigginCui.dao; public interface PersonDao { public void savePerson(); } [PersonDaoImpl.java] package com.HigginCui.dao; public class PersonDaoImpl implements PersonDao{ @Override public void savePerson() { System.o…
1*简单调用 子操作方法: 服务端 客户端 2.带有参数的调用 子操作方法 服务端 客户端…
Java Web项目,写到Action的时候,往往会要引入Service,这个是一个常见的操作. 但是,我自认为引入Service需要给它get和set方法,并且这个习惯已经沿用到现在.然而,自从参与了dojo这个项目,这种写法被认为是片面的. 以前引入Service的写法如下: /** * userService */ private UserService userService; /** * userService get方法 */ public UserService getUserSe…
子程序的命名通常和普通程序的命名方式相同.但是需要注意的是,对于子程序而言,不可将其前缀命名为以下这几个名字. AFB           AFH           CBC          CEE          EDC IBM            IFY             IGY            IGZ            ILB 实际上,以上名字都属于IBM相关产品的名字.如果将子程序的前缀命名为以上名字,则在主程序中将不能对其进行调用.当在主程序中试图调用该子程序时,…
[工程截图] [PersonDao.java] package com.HigginCui.annotation; public interface PersonDao { public void savePerson(); } [PersonDaoImpl.java] package com.HigginCui.annotation; import org.springframework.stereotype.Repository; /* * @Repository("personDao&qu…
本文来自:http://blog.csdn.net/w_basketboy24/article/details/8642846 jsp发起请求. actionform封装请求参数. action接受请求,并接受封装好的actionfrom action调用service. service经过业务逻辑处理之后随后调用DAO(或者直接在service中实现对数据的CRUD操作) DAO对数据库进行CRUD. 1,dao和service对应 一般情况下,Hibernate DAO只操作一个POJO(简…
今天做东西时发现一个新东西.即在一个Action调用另一Action.前提是同一个控制器.(没在一个控制里的没试过) 调用方法: public   ActionResult Test1(){ //to do //这里做一些初始化 Test2(); Return  View();(这里执行完Test2()后,还可以做其他操作,ex:Return Redirect("你想跳到的url");) } public   ActionResult Test2(){ //to do return V…
一.问题的起源 最近在做vue.js项目时,遇到了vuex状态管理action与vue.js方法互相通信.互操作的问题.场景如下图所示: 二.第一种解决方法 例如,我们在页面初始化的时候,需要从服务端通过API接口获取数据,数据获取成功前需要显示Loading状态框,数据获取完成后,需要将Loading状态框隐藏. 这是一种相对比较简单的应用场景,解决起来当然也比较简单. 我们可以通过state数据字段来实现,在state中存储一个loading字段,并设置默认值为false. const st…
一.子模块调用根模块的方法 mutation调用  context.commit('clearloginInfo',{key_root:data},{root:true}); action调用  context.dispatch('clearloginInfo',{key_root:data},{root:true});…
虽然现在 MVC 框架层出不穷,但做为 Struts 前身的 webwork. 其经典程度不亚于贝利之于足球,双 11 之于淘宝特卖. 本篇将结合 webwork controller 配置文件 xwork.xml 的配置项浅析. 来一起看看当年叱咤风雨的 mvc 框架是怎样满足变更的业务需求. 1. xwork.xml 主文件 xwork.xml 是 WebWork 自身的配置文件,实际开发中它是配置文件的主干骨架. xwork 定义了一个 default 包,通过 include 包含 xw…
个人理解 WebWork 与 Struts2 都是将xml配置文件作为 Controler 跳转的基本依据,WebWork 跳转 Action 前 xml 文件的读取依赖 xwork-1.0.jar,底层由 xwork实现,这部门代码读起来不是很轻松,在此做下记录供后续查阅和项目借鉴.今天的代码分析对应 下图 WebWork 框架流转图中红框框的地方. WebWork xml配置文件读取的入口.后续的所有处理都是 Action 调用类 DefaultActionProxy 这句代码: this.…
1. Webwork 与 Xwork 搭建环境需要的的jar 为:webwork-core-1.0.jar,xwork-1.0.jar,搭建webwork 需要xwork 的jar呢?原因是这样的,WebWork2 被构建在XWork之上,以XWork为基础.通过使用XWork的命令模式框架和拦截器框架,提供了一个支持Web功能.能快速构建Web应用的命令模式框架.而XWork是一个标准的Command模式实现,并且完全从web层脱离出来.Xwork提供了很多核心功能:前端拦截机(interce…
(转自http://www.blogjava.net/moxie/archive/2006/10/20/76375.html) WebWork深入浅出 本文发表于<开源大本营> 作者:钱安川 前言 本篇文章并没有太多WebWork 的实战代码细节.本人非常希望能充当一名导游的角色,带领读者逐步游览WebWork的功能特性和原理.在第一章,我们将提出基于三层架构的Web层需要解决的10个问题,这是本文的纵轴.围绕着纵轴,我们按照横轴的顺序逐步描述讲解:WebWork简介.WebWork入门.We…
1.     Action的访问路径 扩展名 缺省以.action结尾,请参考:default.properties文件,可以通过配置改变这一点: <constant name="struts.action.extension" value="action,do,webwork" /> 上述配置,将使得可以通过.action或.do或.webwork访问Action对象 访问路径的容错能力 比如:我们配置某个package的namespace="…
虽然现在 MVC 框架层出不穷,但做为 Struts 前身的 webwork. 其经典程度不亚于贝利之于足球,双 11 之于淘宝特卖. 本篇将结合 webwork controller 配置文件 xwork.xml 的配置项浅析. 来一起看看当年叱咤风雨的 mvc 框架是怎样满足变更的业务需求. 1. xwork.xml 主文件 xwork.xml 是 WebWork 自身的配置文件,实际开发中它是配置文件的主干骨架. xwork 定义了一个 default 包,通过 include 包含 xw…
个人理解 WebWork 与 Struts2 都是将xml配置文件作为 Controler 跳转的基本依据,WebWork 跳转 Action 前 xml 文件的读取依赖 xwork-1.0.jar,底层由 xwork实现,这部门代码读起来不是很轻松,在此做下记录供后续查阅和项目借鉴.今天的代码分析对应 下图 WebWork 框架流转图中红框框的地方. WebWork xml配置文件读取的入口.后续的所有处理都是 Action 调用类 DefaultActionProxy 这句代码: this.…
1. Webwork 与 Xwork 搭建环境需要的的jar 为:webwork-core-1.0.jar,xwork-1.0.jar,搭建webwork 需要xwork 的jar呢?原因是这样的,WebWork2 被构建在XWork之上,以XWork为基础.通过使用XWork的命令模式框架和拦截器框架,提供了一个支持Web功能.能快速构建Web应用的命令模式框架.而XWork是一个标准的Command模式实现,并且完全从web层脱离出来.Xwork提供了很多核心功能:前端拦截机(interce…
本文转自:http://www.cnblogs.com/gesenkof99/archive/2013/06/03/3115052.html Partial 和RenderPartial:这两个的性质都是一样, 只指把一个个View给镶入进来, 只是回传值有点不一样Partial 回传的一个Object (MvcHtmlString), 回传一个String 把一堆Html给回传出来, 然后写进到主页面上 @Html.Partial("ViewName") RenderPartial…
部分视图不走  controller @Html.Partial(“_Menu”);  //这种是不走Controller的,直接在加载_Menu的视图 @Html.Partial(“_Menu”, currUser); //这种会将currUser做为Model变量传到_Menu视图,在_Menu视图中直接调用 var currUser = Model as XXObject 即可. Partial.RenderPartial直接加载视图文件内容 ———————————————– 这种方式  …
Partial 和RenderPartial:这两个的性质都是一样, 只指把一个个View给镶入进来, 只是回传值有点不一样Partial 回传的一个Object (MvcHtmlString), 回传一个String 把一堆Html给回传出来, 然后写进到主页面上 @Html.Partial("ViewName") RenderPartial 回传的是void, 而这个方法会在主页面上添加指定的View @{            Html.RenderPartial("V…
[提示] 1. 阅读文本前希望您具备如下知识:了解单元测试,了解Dynamic,熟悉泛型(协变与逆变)和Lambda,熟悉.NET Framework提供的 Action与Func委托.2.如果您对单元测试无兴趣请止步. 3.本文将使用一些我自己的测试公共代码,位于https://idletest.codeplex.com/,此处亦非常欢迎来访. 4.关于本人之前单元测试的文章可参阅 <在Visual Studio 2012使用单元测试>. <VS2012 单元测试之泛型类(Generi…
一. ASP.NET MVC中的TempData 在ASP.NET MVC框架的ControllerBase中存在一个叫做TempData的Property,它的类型为TempDataDictionary,顾名思义是一个字典类.TempData在ASP.NET MVC中的作用是:可用于在Action执行过程之间传值.简单的说,你可以在执行某个Action的时候,将数据存放在TempData中,那么在下一次Action执行过程中可以使用TempData中的数据. 如: public ActionR…