高分赏格:动态生成部分html代码:js生成 VS jstl标签生成
高分悬赏:动态生成部分html代码:js生成 VS jstl标签生成
很多情况下,我们的项目都需要动态地生成部分的html代码,之前一直用jq生成,不断的append进去,但有一次被项目主管批评过,说用jq生成大量的html代码不好。
而且,我个人感觉,这样做也是不好维护,毕竟维护html代码,需要去jq那里看,而且也不好看。
第二种方法,就是jsp的标签库如jstl,用一个foreach就可以循环生成一些html了,而且好看好维护,但是,有一个缺点就是,jsp标签库本质上是java代码来的,性能上应该比不上js生成的速度吧(因为js生成是:服务器传js代码过来,客户端生成html;而jstl标签生成是:服务器生成html,再将html传到客户端)。
所以,现在就纠结了。
不惜重分求看法。
------解决方案--------------------
因为js生成是:服务器传js代码过来,客户端生成html;这种方式不太用哦,一般跨域的时候会这样用。一般都是后台取得要显示的数据,页面用标签来进行显示,到页面上要做一些dom操作的时候就用jquery
------解决方案--------------------
为了后期维护个人觉得应该使用jstl标签,首先做一个东西,后期维护不可避免,为了后期的维护,那么这样很有必要,其次 ,你说的速度的问题,现在的项目都是部署在服务器的,那么生成代码的速度对于js生成代码的速度显然是很小的了
------解决方案--------------------
看个人取舍了
------解决方案--------------------
需要看你的数据是怎么来的,有些时候用JSTL,有些时候用JQ,的看数据是怎么来的,我们两种方式都用
JSTL一个foreach搞定,JQ不也是一个for搞定吗?
------解决方案--------------------
数据量很大么?
如果很大,大到会影响服务器反应速度,导致网页一直在load, 那么你可以用js去生成,
但是你想过js的维护了么? 可能你自己写的,你能看懂,但是如果换一个人接手,他能看懂么?
如果不是很复杂,建议使用jstl
------解决方案--------------------
补充一句。方案没有绝对优劣,都是为目标服务的。
在你的系统没有很高兴能要求的情况下,尽量选择通用性强、复杂度低、成熟性高 的大众技术方案。
因为没有看到你顶楼提及性能要求,所以我比较赞成你主管的观点。
------解决方案--------------------
解决可读性。
对于你说的可维护性,jq代码对于前端开发人员来说很容易维护...
可能是因为我不懂jstl,所以这样觉得
------解决方案--------------------
你说的list 集合 数据量大吗??如果很大很容易导致浏览器崩溃的,另外响应速度也慢, 而且在显示方面你还要先在后台转成json格式再传给前台。。
jstl在服务器上 性能很差吗??可以优化代码或者数据库表的呀。。
------解决方案--------------------
$('#scriptid').html();
可以这样使用。
有两个优点,
代码整齐可读性强;
浏览器不加载,不影响性能(与display=none的div等container相比较)
------解决方案--------------------
1. 量多时,不建议用JS。 太不直观,难维护了。
2. 建议用标签,一般情况下, 生成html的资源消耗可忽略。 由标签生成HMTL后, 可考虑静态化,那样, 一次生成后,后面直接取就行了。(当然得有一个静态化文件的维护问题)。 另外,可考虑用其他的模板技术,如velocity、freemarker等, 他们在执行上好像是快于JSP。
很多情况下,我们的项目都需要动态地生成部分的html代码,之前一直用jq生成,不断的append进去,但有一次被项目主管批评过,说用jq生成大量的html代码不好。
而且,我个人感觉,这样做也是不好维护,毕竟维护html代码,需要去jq那里看,而且也不好看。
第二种方法,就是jsp的标签库如jstl,用一个foreach就可以循环生成一些html了,而且好看好维护,但是,有一个缺点就是,jsp标签库本质上是java代码来的,性能上应该比不上js生成的速度吧(因为js生成是:服务器传js代码过来,客户端生成html;而jstl标签生成是:服务器生成html,再将html传到客户端)。
所以,现在就纠结了。
不惜重分求看法。
------解决方案--------------------
因为js生成是:服务器传js代码过来,客户端生成html;这种方式不太用哦,一般跨域的时候会这样用。一般都是后台取得要显示的数据,页面用标签来进行显示,到页面上要做一些dom操作的时候就用jquery
------解决方案--------------------
为了后期维护个人觉得应该使用jstl标签,首先做一个东西,后期维护不可避免,为了后期的维护,那么这样很有必要,其次 ,你说的速度的问题,现在的项目都是部署在服务器的,那么生成代码的速度对于js生成代码的速度显然是很小的了
------解决方案--------------------
看个人取舍了
------解决方案--------------------
需要看你的数据是怎么来的,有些时候用JSTL,有些时候用JQ,的看数据是怎么来的,我们两种方式都用
JSTL一个foreach搞定,JQ不也是一个for搞定吗?
------解决方案--------------------
数据量很大么?
如果很大,大到会影响服务器反应速度,导致网页一直在load, 那么你可以用js去生成,
但是你想过js的维护了么? 可能你自己写的,你能看懂,但是如果换一个人接手,他能看懂么?
如果不是很复杂,建议使用jstl
------解决方案--------------------
补充一句。方案没有绝对优劣,都是为目标服务的。
在你的系统没有很高兴能要求的情况下,尽量选择通用性强、复杂度低、成熟性高 的大众技术方案。
因为没有看到你顶楼提及性能要求,所以我比较赞成你主管的观点。
------解决方案--------------------
解决可读性。
<script type='anything' id='sth'>
<div>any HTML code</div>
</script>
对于你说的可维护性,jq代码对于前端开发人员来说很容易维护...
可能是因为我不懂jstl,所以这样觉得
------解决方案--------------------
你说的list 集合 数据量大吗??如果很大很容易导致浏览器崩溃的,另外响应速度也慢, 而且在显示方面你还要先在后台转成json格式再传给前台。。
jstl在服务器上 性能很差吗??可以优化代码或者数据库表的呀。。
------解决方案--------------------
$('#scriptid').html();
可以这样使用。
有两个优点,
代码整齐可读性强;
浏览器不加载,不影响性能(与display=none的div等container相比较)
------解决方案--------------------
1. 量多时,不建议用JS。 太不直观,难维护了。
2. 建议用标签,一般情况下, 生成html的资源消耗可忽略。 由标签生成HMTL后, 可考虑静态化,那样, 一次生成后,后面直接取就行了。(当然得有一个静态化文件的维护问题)。 另外,可考虑用其他的模板技术,如velocity、freemarker等, 他们在执行上好像是快于JSP。