`
guofengcn
  • 浏览: 51514 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
1、Tapestry组件的写法   a、 <t:textfield t:id="userName" t:value="jack"/>     这样的写法的优点是,看上去比较直观,与Struts等Web框架的一致。但是缺点就是,使用浏览器(或者美工)直接看页面的时候,浏览器无法正确显示这个组件。   b、 <input type="text" t:type="textfield" t:id="userName" t:value="jack"/>     这 ...
    在讲述页面之间传递值之前首先要介绍一个Tapestry的页面缓存。     Tapestry的一个经常被提及的就是页面的缓存,Wicket也有页面缓存,但是Wicket的页面是缓存在Session里的,缺省好像是只缓存5个页面。这一点让我对Wicket的印象打了折扣,首先,这种机制在高并发,也就是多人同时在线的时候,感觉页面缓存会占用大量资源。而Tapestry的页面缓存是在一个大池中。     页面缓存的优点就是提高效率,但是缺点也是比较明显的,那就是给开发实现带来了不方便。我觉得众人说的Tapestry的学习曲线比较陡,一部分原因就在这里。上一章讲过,在Tapestry中,页面的跳转 ...
1、在Tapestry中,页面称之为页面模板(Page Template)。Tapestry的页面模板必须是一个Well Formed Xml,需要引入Tapestry的Xml命名空间才能使用Tapestry的组件。   示例: <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd"> XXXXXXXX...... </html> 2、在页面模板中可以使用表达式来获取变量的值。这种表达式在Tapestry中称之为:Expansion。 3、在前一篇 ...
1、Start.tml和Start.java     Tapestry不需要在Web.xml中配置welcome页面,也是使用约定大于配置的方式,默认的起始页面就是在pages目录下的Start。Tapestry中的页面由两部分组成:一个Java类和一个相同名字的模板文件(类似于jsp,Tapestry ...
1、web.xml     一般来说,使用Tapestry需要在web.xml中添加2项内容 A、context-param: <context-param> <!-- The only significant configuration for Tapestry 5, this informs Tapestry of where to look for pages, components and mixins. --> <param-name>tapestry.app-package</param-name> <p ...
你被任命管理一个重要的软件项目,你有3个项目组成员。如果该项目不能按照客户的质量要求如期完成,公司将损失大笔收入,这一损失将影响到公司的未来发展。 但结果是项目在你手上失败了!项目不但延期了25%,客户还在你的成员各自开发的模块间发现了明显的集成问题。 情形是这样的:  你过去是一个很好的程序员并在去年被提拔为经理。  成员A是一个有能力的程序员,在项目的过程中他被你的经理调去参加公司的培训课程,这造成了他30%的工作延期,培训回来以后,公司宣布他在完成该项目后将被提拔到新的岗位,他一直忙于熟悉新的岗位和经理,他在项目后期的工作质量受到了严重影响。  成员B是最没经验的程序员,他的开发进度 ...
    当使用struts2的struts2-json-plugin输出接送数据时,如果配置enableGZIP为true,发现竟然有中文乱码问题。查看源代码,果然有一小小问题,所以干脆动手自己修改吧。  1.首先在struts.xml中加入下面的代码: <!-- 修正struts2-json-plugin-2.1.8.1中enableGZIP为true时中文乱码问题 --> <package name="json-guofeng" extends="json-default"> <result-ty ...
Log4j比较全面的配置 log4j.rootLogger=DEBUG,CONSOLE,A1,im log4j.addivity.org.apache=true # 应用于控制台 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.Threshold=DEBUG log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOL ...
在使用报表工具制作报表的过程中,常常需要对报表中的记录进行序号的编排。无论是出于报表实际的需要,还是作为报表制作的中间过程,序号已经成了报表不可或缺的一部分,是web报表工具的一种广泛需求。 基于这个需求 ...
    废话不多说,切入正题:     用ExtJs做级联的日期选择控件,要求:         (首先默认两个日期控件的日期均为今天)        1.当第一个日期控件 小于 今天  :第二个日期控件值不变;        2.第二个日期控件能选择日期的范围必须 小于 第一个日期控件; { xtype: 'datefield', format:'20y-m-d',// h:m:s fieldLabel: '控件一, allowBlank : false, name: 'provideDate', id: 'startDate', value:new Da ...
$('#EmployeeGrid').flexigrid({ //表格寬度(注意在IE不能使用100%之類字串) width:$(window).width()-2, //表格高度(注意在IE不能使用100%之類字串) height:480, //資料列雙色交差 striped:true, //欄位雙色交差 novstripe:false, //最小寬度 minwidth:400, //最小 ...
    用struts2+ext开发上传模块,上传文件成功,但总是在浏览器中有提示“下载”……     而且发现前台的success和failure都没有执行到,打印json串一切正常……         这就奇怪了~~~上网找原因……发现好多人遇到这种问题,按网上的说法一步一步的试,首先是在struts配置文件中加入: <param name="contentType">text/html</param>     还是没解决掉……       换个方式,在action中直接写: HttpServletResponse respon ...
    今天遇到了一个很棘手的问题,也是个相当愚蠢的问题!     发现struts的action总是会执行两次,刚开始怎么都没想明白,还以为是hibernate的lazy的问题,再后来上网查找原因,发现也有别人遇到过这类问题,有些人的说法是因为在jsp页面中比如在引CSS或JS的时候SRC=“”的原因……     查找了一下,排除掉!后来在Q群里问,也是没找到原因。后来经过排查发现还有个方法也是每次都在运行,这才恍然大悟,原来我的方法竟然是以getXXX开头的!晕死……get方法在action中肯定是会被执行的啊!     换个名字,一切搞定!既不是hibernate的原因,更不是jso ...
Hibernate性能调优   关键字: hibernate 性能调优   Robbin总结的Hibernate性能优化要点: 1.尽量使用many-to-one,避免使用单项one-to-many2.灵活使用单向one-to-many3.不用一对一,使用多对一代替一对一4.配置对象缓存,不使用集合缓存5.一对多使用Bag 多对一使用Set6.继承使用显示多态  HQL:from object  polymorphism="exlicit" 避免查处所有对象7.消除大表,使用二级缓存    对于上面这些,Robbin进行了详细的讲解。one-to-many:  ...
    今天在使用powerdesigner创建oracle数据脚本后,在oracle客户端plsql中运行数据库脚本创建数据库,这个一点异常都没有。但是在插入测试数据的时候总是提示 字段“***”****提示(哎,失误!错误提示给忘了……)。刚开始还以为是我建的字段是关键字什么的原因,所以就给字段改名,发现竟然同时多了一张一模一样的名字的表(一个表名种有小写,另一个新出来的都是大写……例如:一张为User,另一张为USER),这是怎么回事呢???奇怪了…………       再查看表……发现正常的表都是全部大写字母,包括表名称。     恍然大悟……可能是oracle不支持小写字母吧!这时 ...
Global site tag (gtag.js) - Google Analytics