惯例:
我是温浩然:
这个真的属于原创文章~~~
最近一直用tiles架构做项目,关于tiles架构呢,网上介绍的很多,我就不介绍了,这里说说我的用法。
架构是spring MVC + tiles
我这里说的,主要是其中一种用法。
一般配置tiles ,都是继承自一个框架中,这个框架上封装好了,头部,和左侧菜单栏,然后,右侧的内容部分需要自己定义。
刚开始的时候,我不太会用,所有的东西都用这个架构,也就是,每一个右侧的内容页面,我都用tiles架构给他嵌套到整个的tiles框架中。
后来,由于需要刷新局部页面,用ajax ,在网上找到这样一个东西。
function(data){
$(#id).html(data)
}
在ajax的回调函数中,
然后我考虑,这个参数是怎样传递的呢?
下面是这一段JS
var POSTLIST = { init:function(el){ POSTLIST.buidEevnt(); }, buidEevnt:function(){ $('#postList-main-content').on('click','#showpostlist',POSTLIST.showListInOther); }, //根据版块ID查询列表 showListInOther:function(){ var el=$(this); $.get(cp+'/post/showlistbyboardId/'+el.attr('data-id'),function(data){ alert(data); $('#postList').html(data); }); } } POSTLIST.init();
下面是调用的方法。
@RequestMapping(value = "/showlistbyboardId/{id}", produces = "text/html") public String showListByBoardId(@PathVariable("id") long id, Model model) { List<Post> list = postservice.list(id); model.addAttribute("postList", list); return "listByBoardId"; }
然后会到配置的tiles 架构的view.xml,去找对应的配置。
先贴本来我的配置代码:
<definition extends="layoutpc" name="<span style="font-family: Arial, Helvetica, sans-serif;">listByBoardId</span>"> <put-attribute name="content"> <definition template="/mng/pc/index.jsp"> <put-attribute name="left" value="/mng/pc/left.jsp" /> <put-attribute name="right" > <definition template="/mng/pc/postlist/otherpostlist/otherCircle.jsp"> </definition> </put-attribute> </definition> </put-attribute> </definition>
这样,会通过配置的tiles 架构,加载整一套的页面,
但是,这样,如何才能用ajax来刷新局部页面呢?
如果用现在的配置方法,再加上最开始的JS代码,这样整个页面会再重新导入到ID是postList中。
然后,下面是我现在的配置方法
<definition name="listByBoardId" template="/mng/pc/postlist/otherpostlist/otherCircle2.jsp" />
这样,就是只把这一个页面导入到ID为postList中,其他的页面布局还是不变的。
就可以通过ajax实现刷新局部页面的功能了。
时间: 2024-09-19 06:50:13