对最近项目问题的一个思考。(CMS系统和AJAX)

对最近项目问题的一个思考。

1个重要的js文件:tools.js,对几乎用到的最基本的js进行了封装

项目用到了cms。
在cms里用ajax有2种方式。

第一:(class=on的先是默认的打开)
导入js文件,必须有先后顺序
<script src="http://static.duniu.com/www/web/js/tools.js" type="text/javascript"></script>
<script src="http://static.duniu.com/www/web/js/TabContentAjax.js" type="text/javascript"></script>

<ul id="billboardTab">
 <li class="on">1。<a href="http://www.duniu.com/cmsGuildOrder?type=1">积分榜</a></li>
 <li>2。<a href="http://www.duniu.com/cmsGuildOrder?type=2">人数榜</a></li>
 <li><a href="http://www.duniu.com/cmsGuildOrder?type=3">人气榜</a></li>
</ul>
<div id="billboardCont">
</div>

注意:1.   2.    这些东西都不能要。 class="on" 是默认打开的

<script language="javascript">
 new TabContentAjax("billboardTab", "billboardCont");//必须放在后面
</script>

会把通过controller返回来的vm放到<div id="billboardCont"></div>这个<div>里。
Controller里map里放一个值:map.put("URL","digitalproduct?type="+type +"&pageId=");


返回的vm里页码为:
#foreach($item in $list)
    <div>
    <a href="newcp_more.html"><img src="imgs/cp/newcp01.gif"/></a><h1><a href="newcp_more.html">$!item.Title</a></h1><h2>$!item.Time</h2>
    <p>$!item.Content</p>
    </div>
#end
<div id="pageContent">
  #set($url=$!URL)
  #set($changepage="pageAjax('billboardCont',this.href);return false;")//有事件处理
  #parse("cms/page.vm")
</div>

 

 

第二:(通过资源类先生成一个)
导入js文件,必须有先后顺序
<script src="http://static.duniu.com/www/web/js/tools.js" type="text/javascript"></script>
<script src="http://static.duniu.com/www/web/js/ArticleContentAjax.js" type="text/javascript"></script>

<ul id="billboardTab">
 <li>1。<a href="http://www.duniu.com/cmsGuildOrder?type=1">积分榜</a></li>
 <li>2。<a href="http://www.duniu.com/cmsGuildOrder?type=2">人数榜</a></li>
 <li><a href="http://www.duniu.com/cmsGuildOrder?type=3">人气榜</a></li>
</ul>
<div id="billboardCont">
</div>

注意:1.   2.    这些东西都不能要。

<script language="javascript">
 
new ArticleContentAjax("billboardTab", "billboardCont");
new ArticleContentAjax("pageContent","billboardCont");  //分页的。
</script>

页码是通过资源类生成的。
//String URL="/c_"+ urlNum +"_p_";//c_191_p_5.htm ,点分页时会自动把页码加在后面,资源类里本来是通过这个URL来实现整个页面的刷新。
String URL = "/digitalproduct?pageId=";//现在通过这个来生成出页码,页码所在的<div >的class 为pageContent


点页码时转向Controller.但是因为后面有个.htm请求。所以要把.htm给解掉。
所以Controller里有个截取的方法
if(strPageId!=null && strPageId.trim().length() > 0){
int pos=strPageId.indexOf(".htm");
String idStr=null;
if(pos!=-1){
 idStr=strPageId.substring(0,pos);
 try{
  pageId=Integer.parseInt(idStr);
 }catch(Exception e){
  e.printStackTrace();
 }    
 
}else{
 try{
  pageId=Integer.parseInt(strPageId);
 }catch(Exception e){
  e.printStackTrace();
 }  
}


}

会把通过controller返回来的vm放到<div id="billboardCont"></div>这个<div>里。
Controller里map里放一个值:map.put("URL","digitalproduct?type="+type +"&pageId=");


返回的vm里页码为:
#foreach($item in $list)
    <div>
    <a href="newcp_more.html"><img src="imgs/cp/newcp01.gif"/></a><h1><a href="newcp_more.html">$!item.Title</a></h1><h2>$!item.Time</h2>
    <p>$!item.Content</p>
    </div>
#end
<div id="pageContent">
  #set($url=$!URL)
  #set($changepage="pageAjax('billboardCont',this.href);return false;")//有事件处理
  #parse("cms/page.vm")
</div> 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值