澳门新葡亰平台官网下载-平台游戏app > 前端 >
JSP页面文件中base标记用法实例分析

本文实例剖析了JSP页面文件中base标志用法。分享给大家供大家参照他事他说加以考查,具体如下:

1. RequestDispatcher.forward()
  是在服务器端起效果,当使用forward(卡塔尔(قطر‎时,Servlet engine传递HTTP央求从近些日子的Servlet or JSP到其余一个Servlet,JSP 或平常HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward(State of Qatar重定向至b.jsp,那个时候form提交的具有消息在 b.jsp都能够博得,参数自动传递. 但forward(卡塔尔无法重定向至有frame的jsp文件,能够重定向至有frame的html文件,同期forward(State of Qatar不能够在末端带参数字传送递,比方servlet?name=frank,这样特别,能够程序内经过response.setAttribute("name",nameState of Qatar来传至下一个页面。
  重定向后浏览器地址栏UPAJEROL不改变。
  例:在servlet中开展重定向
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
  response.setContentType("text/html; charset=gb2312");
  ServletContext sc = getServletContext();
  RequestDispatcher rd = null;
  rd = sc.getRequestDispatcher("/index.jsp"卡塔尔; //定向的页面
  rd.forward(request, response);
}
  通常在servlet中使用,不在jsp中使用。
  2. response.sendRedirect()
  是在顾客的浏览器端职业,sendRedirect(卡塔尔国能够带参数字传送递,举例servlet?name=frank传至下个页面,同一时候它能够重定向至分化的主机上,sendRedirect(卡塔尔能够重定向有frame.的jsp文件.
  重定向后在浏览器地址栏上会现身重定向页面包车型大巴UGL450L
  例:在servlet中重定向
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
  response.setContentType("text/html; charset=gb2312");
  response.sendRedirect("/index.jsp");
}
  由于response是jsp页面中的隐含对象,故在jsp页面中得以用response.sendRedirect(卡塔尔间接达成重平昔。
  注意:
  (1卡塔尔 使用response.sendRedirect时,前边不可能有HTML输出;
  那并非纯属的,不能够有HTML输出其实是指无法有HTML被送到了浏览器。事实上今后的server都有cache机制,日常在8K(作者是说 JSP SE哈弗VE卡宴),那就表示,除非您关闭了cache,或然您利用了out.flush(State of Qatar强迫刷新,那么在利用sendRedirect早前,有微量的HTML输出也是同意的。
  (2卡塔尔 response.sendRedirect之后,应该紧跟一句return。
  大家已经领悟response.sendRedirect是经过浏览器来做转账的,所以独有在页面管理到位后,才会有实在的动作。既然您早已要做转账了,那么后的输出还应该有何意思吗?並且有比超级大恐怕会因为背后的出口引致转向退步。
  比较:
  (1State of QatarDispatcher.forward(卡塔尔国是容器中央调控制权的转会,在顾客端浏览器地址栏中不博览会示出转向后的地点;
  (2)response.sendRedirect(State of Qatar则是一心的跳转,浏览器将会赢得跳转的地点,并再度发送伏乞链接。这样,从浏览器的地点栏中可以看出跳转后的链接地址。
  后者越来越高效,在前者能够满意急需时,尽量选择RequestDispatcher.forward(卡塔尔方法。
  注:在多少情状下,举个例子,供给跳转到三个其余服务器上的能源,则必得选拔HttpServletResponse.sendRequest(卡塔尔国方法。
  3. <jsp:forward page="" />   它的背后部总局分是由RequestDispatcher来达成的,因而它含有RequestDispatcher.forward(卡塔尔方法的印记。
  假使在早先有许多输出,前边的输出已使缓冲区满,将机关输出到客户端,那么该语句将不起功效,那或多或少应该极度注意。
  别的要在乎:它无法改过浏览器地址,刷新的话会导致重复提交
  4. 退换HTTP header的Location属性来重定向
  通过设置直接改革地址栏来贯彻页面包车型客车重定向。
  jsp文件代码如下:
<%
 response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
 String newLocn = "/newpath/jsa.jsp";
 response.setHeader("Location",newLocn);
%>
  5. JSP中贯彻在某页面停留若干秒后,自动重定向到另生龙活虎页面
  在html文件中,上边包车型客车代码:
<meta http-equiv="refresh" content="300; url=target.jsp">
  它的意义:在5分钟现在正在浏览的页面将会活动成为target.html那风流倜傥页。代码中300为刷新的延迟时间,以秒为单位。targer.html为您想转向的对象页,若为本页则为电动刷新本页。
  由上可以,能够透过setHeader来达成某页面停留若干秒后,自动重定向到另大器晚成页面。
  关键代码:
String content=stayTime+";URL="+URL;
response.setHeader("REFRESH",content);

大家在用IDE工具生成JSP页面时日常都满含上边包车型地铁两段代码,

它们相对不是于事无补代码,详细如下:

base标志是二个基链接标识,是三个单标志。用以改换文件中存有连接标志的参数钦点值。它必须要动用于标识

与中间。你网页上的富有相对路线在链接时都将要头里加上基链接指向之处。

珍视性质:

href---设定前缀的链接地址

target---设定文件呈现的窗口,同a标志中的target

轻易易行例子:

base标记



x.html
y.html

当点了链接后,跳出的文本是

常在框架布局中用,如左右多少个框架,把左臂的框架汉语件里的连接都显示在左侧的框架里。只要用base标记,把其target属性值写为右框架名称,那就绝不再为左框架里的文本中的每贰个三翻五次都内定target属性。

当使用时,BASE 成分必须出以后文书档案的 HEAD 内,在任何对外界源的引用以前。

除此以外,假若页面转向有个别Servlet,而Servlet里又是forward到的某部jsp页面,假若此刻写相对路线就相应先找到Servlet的渠道,约等于web.xml中配备的url-pattern中的路线,如:倘若有个x.jsp放在webapplication根目录下,而主页index.jsp是交由到servlet上去的,由Serlet来散发forward到x.jsp,Servlet的url配置如下:
复制代码 代码如下:/servlet/TestServlet

那正是说Servlet实现forward转向后,若无   x.jsp中

就能失灵,因为Servlet的访谈路线为 代码如下:

梦想本文所述对大家JSP程序设计有所援助。