首页 > 代码库 > JSP动作--JSP有三种凝视方式

JSP动作--JSP有三种凝视方式

 

一、JSP动作

动作是特殊的标记,通过一个动作标记能够实现多行Java代码实现的效果。能够动态插入文件、重用JavaBean组件、导向还有一个页面等。

动作元素和指令元素不同,动作元素是在client请求时动态运行的,每次有client请求时可能都会被运行一次,而指令元素是在编译时被编译运行,它仅仅会被编译一次。

<jsp:useBean>

useBean动作用于创建引用,并将现有的Bean组件嵌入JSP。

jsp:useBean>

–        useBean动作用于创建引用,并将现有的Bean组件嵌入JSP 。

–        useBean的语法:

<jsp:useBean id="BeanName" class="BeanClass"   scope="page|request|session|application"/>

比如,<jsp:useBean id=“book” class=“com.web.beans.Book” scope=“page” />   

在运行时,Web容器会检查这个JavaBean的对象是否已经存在,假设存在就使用存在的JavaBean对象,反之生成一个新的JavaBean对象。相对于:

<% com.web.beans.Book book=null;

      if(pageContext.getAttribute(“book”)==null){

             book=new com.web.beans.Book();

             pageContext.setAttribute(“book”,book);

      }else{

            book=(Book)pageContext.getAttribute(“book”);

      }

%>

I   jsp实现   <jsp:useBean id="book" class="com.csdn.beans.Book" scope="session"/>

II     java代码  Book book=session.getAttribute(“book”);

If(book==null){

       Book book=new Book();

       Session.setAttribute(“book”,book);

}

Return book;

上面的I II这两个功能一样

 

<jsp:setProperty>

setProperty动作用于设置useBean中指定的Bean的属性的值。setProperty动作指定JavaBean的名称、属性名、属性值和參数,用于赋给Bean的属性。

setProperty的语法:

<jsp:setProperty name="BeanAlias"   
    property="PropertyName"     value=http://www.mamicode.com/"Value"

       param="Parameter“

/>

 

Out.println(bean对象.getxxxx());  具有输出的功能

<jsp:setProperty name=“book” property=“name” value=http://www.mamicode.com/“Java SE程序设计精讲”/>
等价于<%book.setName(“Java SE程序设计精讲”);%>

(2)<jsp:setProperty name=“book” property=“name” param=“bookName”>      用request对象中的參数bookName的值给JavaBean中的name属性赋值。等价于
<%book.setName(request.getParameter(“bookName”))%>

(3)<jsp:setProperty name=“book” property=“name”>
request对象中的參数名称和JavaBean中属性名一样。等价于<%book.setName(request.getParameter(“name”))%>

星号(*)字符可用于指定Bean的全部属性。

<jsp:setProperty name=“book” property=“*” />

 

<jsp:include>

include动作用于将其它HTML页面或JSP页面中的内容合并到当前页面,或将当中的文件插入到当前页面。

不带參数的include动作:

<jsp:include page="weburl" flush="true"/>

带參数的include动作:

<jsp:include page="weburl" flush="true">

<jsp:param name="ParamName" value=http://www.mamicode.com/"ParamValue"/>

<jsp:include>

二、JSP有三种凝视方式

HTML凝视(输出凝视):指在client查看源码时能看见凝视。比如,

<!-- this is an html comment.it will show up int the response. -->

JSP页凝视(隐藏凝视):指凝视尽管写在JSP程序中,但不会发送给客户,因此在client查看源码时不能看见凝视。这种凝视在JSP编译时被忽略掉。

<%--this is a JSP comment.it will only be seen in jsp code--%>

Java凝视:仅仅能出如今Java代码区中,不同意直接出如今页面中。//单行凝视   /*多行凝视*/