`
TechBirds
  • 浏览: 82540 次
文章分类
社区版块
存档分类
最新评论
文章列表
序: 页面和后台之间的数据交互很多时候是依赖表单来完成的,通常使用struts标签相对而言方便点,但效率上很明显比用纯粹的html表单元素要差很多。 虽然比较基础,但是还是在这里对两者结合后台的使用作一个记录。 正文: Action源码: public class FormAction { private String text; private String radio; private String ck; private String select; private String multiple; private String textarea; ...
定义 捕获异常并定位到指定视图。 ps:从这给类的原型,可以帮助我们思考异常如何以日志形式记录,可以再此类的基础上进行扩展。这个待日后有慢慢琢磨。 使用 1.局部exception配置使用 Action源码:public class SourceCoreAction { public String error() throws ClassNotFoundException { System.out.println("do the error!"); Class.forName("xxx"); retur ...
别名拦截器(action属性传递拦截器) 定义 摘自网络:该拦截器主要作用是将一个参数别名成为另一个参数,在不同的action之间相似的参数(但是不同名)扮演着胶水的角色。——action之间的参数传递拦截器 使用 sendAction:发送参数类 public class SendParamAction { public String from; public String execute() { setFrom("msg msg msg!!!"); System.out.println("do the SendParamAct ...
序:在之前这篇《Struts2数据传输的背后机制:ValueStack(值栈)(转载)》博文中指出ognl对于struts2的使用在于 OGNL是Struts2中使用的一种表达式语言,它可以用于JSP的标签库中,以便能够方便的访问各种对象的属性; .它用于界面将参数传递到Action(并进行类型转换)中; 它还可以用于struts2的配置文件中!所以,非常有必要理解OGNL的基本机制。 因此本文的重点在于ognl标签是如何在jsp,struts2配置文件中进行使用的,ognl表达式是如何使用的?作为%,$,#三个表达式使用符号,我们分别来介绍这三种的应用 场景。 符号: ...
感谢原文的作者。 总结: 1.这篇文章对于ognl对象图导航语言的认识以及使用有了一个较为详细的介绍。里面有些概念性总结能够对于ognl有很本质的了解。我想,作为ognl语言的入 门,这篇文章非常有参考价值。 2.当然我们也会试图去询问为何我们要用到ognl语言,这里必须要引进struts2中的valuestack机制。这篇文章的后半部分对 于该机制做了一个简单的分析,个人觉得还不是很深,没从源码层从实现上进行深入,虽然如此,但是基本上能够认识个机制的轮廓。若想继续深入,待日后有时间慢慢研究。 3.作为文章ognl介绍引入的原因: OGNL是Struts2中使用的一种表达式语 ...
序:真心谢谢文章的作者,我收获很多,在此作为我学习的记录。 Struts2默认提供的result-type 在struts2-core.jar/struts-default.xml中,我们可以找到关于result-type的一些配置信息,从中可以看出struts2组件默认为我们提供了这 些result-type <result-types> <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/> <result-type ...
前言:对于这部分的流程,网上已有很多文章进行描述,虽然不想重复造轮,但是为了能够加深自己对struts2的理解,还是有必要记录下这部分的执行流程, 其中有些部分会参考网络,只是为了便于学习,有不妥之处还请见谅。 本文章遵循下图的核心处理流程来进行阅读分析(参考网络): ps:debug源码的前提,个人认为此图很好的反应了Interceptor和Action的执行流程。 FilterDispatcher:请求入口 /** * 接收请求时,自动执行。 */ public void doFilter(ServletRequest req, Serv ...
文章阅读后的反射学习摘录和总结: 1.这篇文章没有更多的去介绍反射应用的场景,这会在以后的进行学习记录。我想只有了解了反射的应用场景,才会真正体会到反射的优势所在。 2.Class类是反射机制的源头,如果没有Class类 ...
最近一个项目客户要求能够监控用户对系统的详细操作步骤,比如某人在某时间删除了某个模块的某条数据,经过一番斟酌,决定用struts2的拦截器功能实现日志管理系统,因为系统是旧系统(SSH架构)了,用struts2就可以不用修改系统的原有的类或者方法,而且可以精确到用户的具体操作,并且所有的日志管理代码直接写在拦截器里即可。代码如下: 代码只是当时写的一个简单测试例子,可以进行优化,将各个acton及对应的方法及操作等都可以进行配置,如配置到一个xml文件当中,以后系统中新增加了action去修改xml文件就可以了。这样就不用去写大量的if,也不用每次有新增action来改日志管理系统 ...
1.Servlet中filter的执行流程可以依照web.xml中的filter配置进行顺序执行。我们知道web.xml中元素执行的顺序 context-param->listener->filter->servlet。 且无论这类元素摆放位置如何,都是遵循这个原则的。 下面看个例子 web.xml的配置: <!-- 编码过滤器 --> <filter> <filter-name>setCharacterEncoding</filter-name> <filter-class>com.co ...
1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应。 主要用于对HttpServletRequest 进行预处理,也可以对HttpServletResponse 进行后处理,是个典型的处理链。 优点:过滤链的好处是,执行过程中任何时候都可以打断,只要不执行chain.doFilter()就不会再执行后面的过滤器和请求的内容。而在实际使用时,就要特别注意过滤链的执行顺序问题 2.过滤器的作用描述 在HttpServletRequest 到达Servlet 之前,拦截客户的HttpServletRequest 。 ...
参考:http://blog.csdn.net/hivon/article/details/576691 静态代理和动态代理的概念: 由程序员创建或由特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。动态代理类:在程序运行时,运用反射机 ...
李刚说:struts.i18n.encoding对于处理中文请求参数非常有用。对于获取中文请求参数,应该将该属性设置未gbk活db2312,当该参数为gbk时,相当于调用HttpServletRequest的setCharacterEncoding()ahuaxuan说:struts.i18n.encoding是指定response中返回流的编码方式,明确指出struts.i18n.encoding参数没有用于HttpServletRequest的setCharacterEncoding()方法。统计了一下:跟贴的人中有90%支持着ahuaxuan,其中还包括javaeye站长robbin。实际 ...
直接贴Struts2的源码 按照执行流程 1.FilterDispacher类中: /** * Wrap and return the given request, if needed, so as to to transparently * handle multipart data as a wrapped class around the given request. * * @param request Our ServletRequest object * @param response Our ServerResp ...
UtilTimerStatck类:用于记录代码执行的时间工具类 ProfilingTimerBean类:javabean类,包含一些startTime,totalTime,resource,parent,children等属性 用于时间的记录以及堆栈的实现。 使用步骤: 1.struts2配置文件配置:<constant name="struts.devMode" value="true"/> 2.在指定的action中进行配置: <interceptor-ref name="profiling" ...
Global site tag (gtag.js) - Google Analytics