|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果你学习的是市场营销,是销售,也许参加大课堂的学习会更合适,因为你的工作能力中有个基础就是搭建自己的人脉,js我们在做程序的过程当中,经常会碰到如许一种情形,就是在一个项目中,会发明有良多页面的框架基础不异的,只是详细显现的内容分歧,而按惯例的做法,我们大概会用include语句来提出框架内容,然后在每一个页面中援用这些框架,但如许就会发生一个成绩,假如我的框架产生变更了,那应当怎样办呢?举个例子,一个index.jsp大概包括有head.jsp和foot.jsp。而别的页面也一样包括这两个JSP。但假如我在index.jsp里有一段导航条的代码,我如今想在每一个页面里援用,而不想加到head.jsp中,岂非我们要在每一个页面里都增添这个导航条的代码吗?我想我是不会如许做的。由于有一种更好的举措来办理这类成绩。那就是接纳模板页面。
template页面的道理,实在就是写一个servlet来完成页面的跳转,然后在web.xml内里设置这个servlet,使要利用模板的这一类JSP文件,都经由过程这个servlet来处置,使它们都转到模板页面便可。然后在模板页面中include这些页面的内容页便可。
详细的做法,只需写一个template.jsp做为模板页面、一个TemplateDispatch.java做为跳转的类就能够了。然后在挪用时,间接指向这个SERVLET,加一个参数,申明要用到哪一个内容页就好了。写个复杂的例子以下:
template.jsp
=====================================
<%pagecontentType="text/html;charset=gb2312"%>
<%@includefile=“head.jsp“%>
<%=(String)request.getAttribute(“body“)%>
<%@includefile=“foot.jsp“%>
TemplateDispatch
=====================================
publicclassTemplateDispatchextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse){
doPost(request,response);
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse){
HttpSessionsession=request.getSession(true);
session.setAttribute(“body“,“index.jsp“);
RequestDispatcherrd=session.getServletContext().getRequestDispatcher("template.jsp");
rd.forward(request,response);
}
}
web.xml
=====================================
<servlet>
<servlet-name>dispatch</servlet-name>
<servlet-class>TemplateDispatchextends</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatch</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
代码是即兴写的,没有做过测试,只是表达一下意义。
===========================================
假如以为复杂的话,还能够扩大一下。经由过程设置文件设置内容页,和taglib来界说两个标签insert用来增添内容页、value用来在模板里间接显现内容。
如今在转头想一想后面提到的成绩,是否是会对照简单办理了呢?假如页面有甚么变化的话,只需修正一下模板页就能够了。如许还不会犯遗漏哪一个页面的毛病。
但是对于JAVA技术类的学习,我觉得大课堂反而会影响自身独立思考的过程,因为上课的时候,老师讲课的速度很快为了不遗漏要点,通常会仔细的听, |
|