当前位置:  编程技术>WEB前端
本页文章导读:
    ▪正则表达式,把所有的空格替换成"_"      val.replace(/\s+/g,'_') \s: space, 空格 +: 一个或多个 ^: 开始,^\s,以空格开始 $: 结束,\s$,以空格结束 |:或者 /g:global, 全局 function verify() {        $.a.........
    ▪用eclipse搭建struts开发环境       用eclipse搭建struts开发环境   学习struts已经两周了,但是一直没有成功搭建出struts开发环境,总是遇到一些问题,百度了一番也没能解决。今天实验课上在同学的帮助下成功搭建了struts开.........
    ▪Web页面Repaint和Reflow      1. Repaint repaint(重绘)是在一个元素的外观被改变,但没有改变布局的情况下发生,如改变visibility、outline、前景色。当repaint发生时,浏览器会验证DOM树上的所有其它结点的visibility属性。 2. Reflo.........

[1]正则表达式,把所有的空格替换成"_"
    来源: 互联网  发布时间: 2013-11-06

val.replace(/\s+/g,'_')

\s: space, 空格
+: 一个或多个
^: 开始,^\s,以空格开始
$: 结束,\s$,以空格结束
|:或者
/g:global, 全局

function verify() {   

    $.ajax({   
        //issue for IE cache; timestamp=" + new Date().getTime()
        url:"checkGroupName?timestamp=" + new Date().getTime(),     
        async: true,
        data:"groupName=" + $("#cn").val()+"&groupTypeForDetail="+$("#groupType").val()+"&prefix="+$("#p").val(),
        dataType:"html",   
        success:function(data){  
         if(data==1){
             $("#result").html("<font color='green'>Group name["+$("#p").val()+ $("#cn").val()+"]Valid</font>");
             var emal_val=$("#p").val()+$("#cn").val()+$("#emailHidden").val();
             $("#email").val(emal_val.replace(/\s+/g,'_'));
             $('#subData').removeAttr("disabled");
         }else if(data==2){
             $("#result").html("<font color='red'>Group name["+$("#p").val()+ $("#cn").val()+ "]already existed.</font>");
             $('#subData').attr('disabled',"true");
         }else{
             $("#result").html("<font color='red'>Group name can not be empty.</font>");
             $('#subData').attr('disabled',"true");
         }
        }   
    });        
}
作者:shenhonglei1234 发表于2013-3-14 17:26:00 原文链接
阅读:0 评论:0 查看评论

    
[2]用eclipse搭建struts开发环境
    来源: 互联网  发布时间: 2013-11-06

用eclipse搭建struts开发环境

 

学习struts已经两周了,但是一直没有成功搭建出struts开发环境,总是遇到一些问题,百度了一番也没能解决。今天实验课上在同学的帮助下成功搭建了struts开发环境并成功运行了程序,回寝室后又在自己的小本上试验了几番,最终成功掌握了在eclipse下搭建struts开发环境的过程。先将自己的一些心得写出来,和与我由着共同疑惑和错误的同仁们分享。

步骤:

一、新建web工程

File->New->Dynamic Web Project

(此处,如果New菜单中没有Dynamic Web Project,可以点击Other选项,在其中进行查找。)

在随后的对话框中输入工程名称,“确定”完成创建web工程。

二、导入struts所需的jar包

1. 解压struts-2.3.8-all.zip文件

2. 打开解压后生成的struts-2.3.8文件目录下的apps文件夹,复制struts2-blank.war粘贴到tomcat/webapps目录下。

3. 启动tomcat服务器:运行tomcat/lib/startup.bat文件启动tomcat,tomcat启动的过程中,struts2-blank.war将被解压成struts2-blank文件。

4. struts2-blank是一个空白的web工程(读者可以在浏览器中输入http://localhost:8080/struts2-blank执行该工程以查看运行效果),里面有些我们进行struts开发需要用到的一些文件,如web.xml、struts.xml等。

三、导入struts所需的jar包

1.在新建的工程名上 “右键”->Build Path->Configure Build Path->Libraries->Add External JARs....

2.此处需要注意,struts常用的JAR包有11个,如下如所示。这里有两种导入struts JAR包的方式:

①导入tomcat下webapps\struts2-blank\WEB-INF\lib目录下常用的11个包

②导入struts-2.3.8\lib目录下的11个常用JAR包,这种方式相对有些麻烦,需要从一大堆JAR包中找出这11个常用JAR包。

3.点击 OK 成功导入JAR包

四、将所需的jar包复制到WEB-INF/lib目录下

在这里我遇到了最大的困难。

之前我还像Java开发和JSP开发时候一样,导入JAR包后完事。

但是此次不同了,在写好代码运行时,直接报出了

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter这个很经典的错误,说白了,就是找不到JAR包。我在百度上查了半天这个错误出现的原因,也找到一大堆解决方法,最终结果呢:不好使。

同学告诉我:需要把这11个JAR包放到工程文件的WebContent\WEB-INF\lib目录下。我照做了,于是问题才得以解决。

所以此处我也特别提醒大家,别忘了把这11个JAR包拷贝一份到工程文件的WebContent\WEB-INF\lib目录下。

五、编写工程文件

到这里,struts开发环境就算配好了,如果大家在配置过程中遇到其他问题,我们可以一起探讨,发E-mail到1259023512@qq.com即可。

至于源文件的编写就需要在以后的学习中慢慢积累经验了。

现将我写的一个web.xml文件和struts.xml文件的简单样例粘到文章中吧。

、、、、、、、、、、、、、、、、web.xml。。。。。。。。。。。。。。。。。。。。。。。。。

<?xml version="1.0" encoding="UTF-8"?>

<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<display-name>Struts Blank</display-name>

<filter>

<filter-name>struts2</

    
[3]Web页面Repaint和Reflow
    来源: 互联网  发布时间: 2013-11-06
1. Repaint

repaint(重绘)是在一个元素的外观被改变,但没有改变布局的情况下发生,如改变visibility、outline、前景色。当repaint发生时,浏览器会验证DOM树上的所有其它结点的visibility属性。

2. Reflow

如果变化涉及元素布局 (如 width), 浏览器则抛弃原有属性, 重新计算并把结果传递给 render 以重新描绘页面元素, 此过程称为 reflow。reflow(回流)是导致DOM脚本执行低效的关键因素之一。页面上任何一个结点触发reflow,都会导致它的子结点及祖先结点重新渲染。

以下操作会引起reflow:

  • 改变窗囗大小
  • 改变文字大小
  • 添加/删除样式表
  • 内容的改变,如用户在输入框中敲字
  • 激活伪类,如:hover
  • 操作class属性
  • 脚本操作DOM
  • 计算offsetWidth和offsetHeight
  • 设置style属性

Reflow是不可避免的,只能将reflow对性能的影响减小到最小,以下是一些建议:

  • 尽可能限制reflow的影响范围。有时 reflow 页面中的一个元素会 reflow 它的父元素(译注:这里是复数)以及所有子元素。
  • 通过设置style属性改变结点样式的话,每设置一次都会导致一次reflow。所以最好通过设置class的方式。
  • 实现元素的动画,它的position属性应当设为fixed或absolute,这样不会影响其它元素的布局。
  • 权衡速度的平滑。比如实现一个动画,以1个像素为单位移动这样最平滑,但reflow就会过于频繁,CPU很快就会被完全占用。如果以3个像素为单位移动就会好很多。
  • 不要用tables布局的另一个原因就是tables中某个元素一旦触发reflow就会导致table里所有的其它元素reflow。在适合用table的场合,可以设置table-layout为auto或fixed,这样可以让table一行一行的渲染,这种做法也是为了限制reflow的影响范围。
  • 很多情况下都会触发reflow,如果css里有expression,每次都会重新计算一遍。
  • 避免在document上直接进行频繁的DOM操作,如果确实需要可以采用off-document的方式进行
    • 先将元素从document中删除,完成修改后再把元素放回原来的位置
    • 将元素的display设置为”none”,完成修改后再把display修改为原来的值
    • 如果需要创建多个DOM节点,可以使用DocumentFragment创建完后一次性的加入
参考文档
  • Minimizing browser reflow
  • Rendering: repaint, reflow/relayout, restyle
  • 页面重构应注意的repaint和reflow

如需转载,请注明来自: BorisHuai前端修炼 > Repaint and Reflow

作者:borishuai 发表于2013-3-14 10:41:02 原文链接
阅读:77 评论:0 查看评论

    
最新技术文章:
▪css white-space:nowrap属性用法(可以强制文字不...
▪IE里button设置border:none属性无效解决方法
▪border:none与border:0使用区别
▪html清除浮动的6种方法示例
▪三个不常见的 HTML5 实用新特性简介
▪css代码优化的12个技巧
▪低版本IE正常运行HTML5+CSS3网站的3种解决方案
▪CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chr...
▪ie6,ie7,ie8完美支持position:fixed的终极解决方案
▪小技巧处理div内容溢出
▪html小技巧之td,div标签里内容不换行
HTML标签参考手册 iis7站长之家
▪li中插入img图片间有空隙的解决方案
▪CSS3中Transition属性详解以及示例分享
▪父div高度不能自适应子div高度的解决方案
▪告别AJAX实现无刷新提交表单
▪从零学CSS系列之文本属性
▪HTML 标签
▪CSS3+Js实现响应式导航条
▪CSS3实例分享之多重背景的实现(Multiple background...
▪用css截取字符的几种方法详解(css排版隐藏溢...
▪页面遮罩层,并且阻止页面body滚动。bootstrap...
▪CSS可以做的几个令你叹为观止的实例分享
▪详细分析css float 属性以及position:absolute 的区...
▪IE6/IE7/IE8/IE9中tbody的innerHTML不能赋值的完美解...
▪CSS小例子(只显示下划线的文本框,像文字一...
▪可以给img元素设置背景图
▪不通过JavaScript实现的自动滚动视差效果
▪div+CSS 兼容小摘
▪CSS的inherit与auto使用分析
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3