`
文章列表
PrepareInterceptor拦截器用于执行自己定义的方法之前执行一段操作,使用此拦截器需要以下几个步骤 1.让Action实现Preparable接口,该接口中有一个要实现的方法prepare() 2.将需要执行的逻辑放在prepare()方法中,或者,如果自己定义的方法名字叫做XXX,可以加上prepareXXX()方法或者prepareDoXXX()方法 以上提到了3个方法分别是prepare(),prepareXXX(),prepareDoXXX(),拦截器执行3个方法执行的顺序是 先寻找prepareXXX(),如果没有该方法,就寻找prepareDoXXX(),最后执行prep ...
使用Struts2时,当打开DevMode,控制台经常会出现 ParametersInterceptor - [setParameters]: Unexpected Exception caught setting ... on ...: Error setting expression ... with value '[Ljava.lang.String;@18fa93'这种情况的异常提示,造成这种异常的原因其实很简单,如果package使用了ParameterIntercepter这个拦截器,OgnlValueStack会自动为Action中有set方法的属性赋值(如果用了modeldriv ...
今天写了一个后台的菜单管理页面,新增或修改树节点时,需要选择已经存在的节点作为父节点,于是想让一个combox作为载体显示一个树的widget,EXTJS并没有提供该控件,于是逛了逛一些论坛和网站,发现vifir的博客系统使用到了此控件,不过并没有提供源代码参考,没办法,自己写一个吧... 以下代码是扩展于combox的 DynamicTreeCombox,代码如下: Ext.ns("Ext.ux.form"); Ext.ux.form.DynamicTreeCombox= Ext.extend(Ext.form.ComboBox, { initComponent ...
使用ext的布局,当表单字段很多,有时候需要用到table的布局,仅仅table的布局还不能满足要求,比如说要显示fieldLabel,这时要使用form布局,当然,可以采用table中嵌套的方式来使用form布局,不过这样使用起来代码多,比较不方便,于是到处逛逛,在extjs的论坛中,找到了国外一哥们写的扩展TableFormLayout,使两种布局结合起来用,table中直接放textfield,这样也能满足一般的要求了,但是,有一种需求,比如说,我要动态添加行,这个时候该怎么办呢? 于是来修改TableFormLayout的代码,新增一些方法: Ext.override(Ext.l ...
用extjs,一个很重要的原因是因为他的grid真的很好,很强大,要使用它的grid,不可避免会用到PagingToolbar这个widget,不过使用后发现,这个paging的工具栏有几个缺点: 1.通过键盘快捷键翻页,方式与我们习惯不太一样,看看PagingToolbar源代码: onPagingKeydown : function(e){ var k = e.getKey(), d = this.getPageData(), pageNum; if (k == e.RETURN) { e.stopEvent(); ...
Global site tag (gtag.js) - Google Analytics