j2ee调用可重用的模版..jsp or div的一些办法

第一次写文章。。只是很简单的技术,因为笔者才大二,阅历尚浅,所以希望此文有什么不足的地方,大家可以指教指教,也希望这篇博客可以帮助到在这方面遇到“困惑”的朋友,谢谢!

我们在做页面的时候经常会遇到一个问题就是,某一个div或者某一块jsp需要重用很多次,且每次里面放的是不同的内容。

当然解决办法有很多,我就只列举一两个

1、我们用struts2的时候,也许你可以试着在页面使用ognl标签<s:action>

for example:

***************************************************************************************  

<s:action name="get-**" namespace="/" executeResult="true">  //executeResult(是否将执行结果包含到页面)
<s:param name="type">test</s:param>  //param给action传值
</s:action>

***************************************************************************************

 再写对应的处理action..然后把公共的div,或者你要的片段提取出来!新建一个.jsp  把提取出来的片段放到jsp中

jsp可以使用ognl或者jstl进行处理。。也就是数据动态了

for example:

*************************************************************************************** 

action-------------

private String type;

public void setType(String type) {
this.type = type;
}

public String **(){ //首页获取黄金白银要闻等信息
this.request.put("***", //这里假设是个list<T>吧);
return "infor";
}

<action name="gotType-*" class="" method="{1}">
<result name="infor">//你所创建的那个模版jsp</result>
</action>

--action------------

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>

<div>

<s:iterator value="#request.***" begin="1" step="1">
<span class="trigon">&nbsp;&nbsp;<a href="${linkUrl}?id=${ciId}">${ciTitle}</a></span>
</p>
</s:iterator>

</div>

 

OK..至此  <s:action>方法  结束

***************************************************************************************

2.那springmvc呢?

    springmvc怎么实现<s:action>的功能    

假如有一天心血来潮,不想用struts2了,想换个springmvc,那么之前写的<s:action>就不能用了,那么怎么办呢!springmvc我闲着没事,用了三个方法(使用jstl  <c:import>、jstl自定义标签加上freemarker模版、Tiles框架)实现,这里只列举一个,就写最简单的<c:import>吧 

方法和<s:action>类似

for example:

*************************************************************************************** 

<c:import url="***">  //url写springmvc的handler method
<c:param name="type" value="test"></c:param>
</c:import>

***************************************************************************************

然后做法和struts2的类似,template.jsp放common 片段

for example:

***************************************************************************************

----handler------------

@RequestMapping("/***")
public ModelAndView getCiInfo(@RequestParam(value="type") String type){
ModelAndView modelAndView=new ModelAndView("template");
modelAndView.addObject("ciInfo", List<T>);
return modelAndView;
}

---handler------------

 

template.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<div>

<c:forEach items="${**}" var="ci" begin="1" step="1">
<span class="trigon">&nbsp;&nbsp;<a href="${ci.linkUrl}?id=${ci.ciId}">${ci.ciTitle}</a></span>
</p>
</c:forEach>

</div>

至此,springmvc一个比较容易实现的例子也完成了

***************************************************************************************

至于另外的jstl自定义标签、tiles框架  读者如果有需要,可以自己去研究研究

tiles框架可以参考这位哥的文章: http://www.tuicool.com/articles/ZbMn2a

还有人说为什么用<c:import>,不用<jsp:include>和include,

这个。。看心情吧

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。