欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

15、JSP标签

程序员文章站 2022-07-12 14:30:17
...

一、JSP标签

 

  1. JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护。
  2. JSP常用标签
  3. <jsp:include>          <jsp:forward>         <jsp:param>

二、<jsp:include>标签

 

  1. <jsp:include>标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入
  2. 语法:<jsp:include page="relativeURL | <%=expression%>" flush="true|false" />
  3. page属性用于指定被引入资源的相对路径,它也可以通过执行一个表达式来获得。
  4. flush属性指定在插入其他资源的输出内容时,是否先将当前JSP页面的已输出的内容刷新到客户端。 
  5. <jsp:include>与include指令的比较
  6. ----<jsp:include>标签是动态引入, <jsp:include>标签涉及到的2个JSP页面会被翻译成2个servlet,这2个servlet的内容在执行时进行合并。 
  7. ----而include指令是静态引入,涉及到的2个JSP页面会被翻译成一个servlet,其内容是在源文件级别进行合并
  8. ----不管是<jsp:include>标签,还是include指令,它们都会把两个JSP页面内容合并输出,所以这两个页面不要出现重复的HTML全局架构标签,否则输出给客户端的内容将会是一个格式混乱的HTML文档。

三、<jsp:forward>标签

 

  1. <jsp:forward>标签用于把请求转发给另外一个资源。
  2. <jsp:forward page="relativeURL | <%=expression%>" /> 
  3. page属性用于指定请求转发到的资源的相对路径,它也可以通过执行一个表达式来获得。

四、<jsp:param>标签 

 

  1. 当使用<jsp:include>和<jsp:forward>标签引入或将请求转发给其它资源时,可以使用<jsp:param>标签向这个资源传递参数。
  2. 语法
    语法1:
    	<jsp:include page="relativeURL | <%=expression%>">
    		<jsp:param name="parameterName" value="parameterValue|<%= expression %>" />
    	</jsp:include>
    语法2:
    	<jsp:forward page="relativeURL | <%=expression%>">
    		<jsp:param name="parameterName" value="parameterValue|<%= expression %>" />
    	</jsp:include>
     
  3. <jsp:param>标签的name属性用于指定参数名,value属性用于指定参数值。在<jsp:include>和<jsp:forward>标签中可以使用多个<jsp:param>标签来传递多个参数。 
  4. 映射JSP,为jsp配置对外访问路径
    <servlet>
    	<servlet-name>SimpleJspServlet</servlet-name>
    	<jsp-file>/jsp/simple.jsp</jsp-file>
    	<load-on-startup>1</load-on-startup >
    </servlet>
    	……
    <servlet-mapping>
    	<servlet-name>SimpleJspServlet</servlet-name>
    	<url-pattern>/xxx/yyy.html</url-pattern>
    </servlet-mapping> 
五、JSP最佳实践
  1. 不管是JSP还是Servlet,虽然都可以用于开发动态web资源。但由于这2门技术各自的特点,在长期的软件实践中,人们逐渐把servlet作为web应用中的控制器组件来使用,而把JSP技术作为数据显示模板来使用。
  2. 其原因为,程序的数据通常要美化后再输出:
  3. 让jsp既用java代码产生动态数据,又做美化会导致页面难以维护。
  4. 让servlet既产生数据,又在里面嵌套html代码美化数据,同样也会导致程序可读性差,难以维护。
  5. 因此最好的办法就是根据这两门技术的特点,让它们各自负责各的,servlet只负责响应请求产生数据,并把数据通过转发技术带给jsp,数据的显示jsp来做。
六、域的总结
  1. web开发中的4个域对象:pageContext(称之为page域)request(称之为request域)session(称之为session域)servletContext(称之为application域)
  2. 如果一个数据只是在当前jsp页面中使用使用page域
  3. 如果一个数据只是当前请求处理后用来展示放在request域
  4. 如果一个数据除了用来当前请求使用,我过一会还要用,放在session域中
  5. 如果一个数据除了当前请求使用,过一会别人还要用,放在application域中。

上一篇: 17、JSTL标签库

下一篇: 15、JSP标签