zoukankan      html  css  js  c++  java
  • JSP-标准动作标记

    JSP标准动作标记

    在客户请求JSP页面时,JSP动作利用XML语法格式的标记来控制Servlet引擎的行为。利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件生成HTML代码。
    动作标记使用XML语法格式,由一个开始标记(可带有属性)、动作体以及结束标记组成。
    动作标记名和属性名都是大小写敏感的 。

    其中常用的动作有以下7种:

        <jsp:include><jsp:param><jsp:forward><jsp:plugin><jsp:useBean><jsp:setProperty><jsp:getProperty>

    <jsp:include>动作介绍

    动作用来把指定文件(文本、HTML、JSP)插入正在生成的页面中,还可以向被加载的JSP文件传递参数。

    语法格式如下:
               <jsp:include page=“relative URL” flush=“true” /> 
    或者
               <jsp:include page="fileName" flush=“true"> 
               <jsp:param name="paramName value="paramValue"/> 
               </jsp:include>
    
    
    **属性介绍:**
    
    page属性:指定资源相对路径
    【功能说明】page属性指定所包含的资源的相对路径,可以接受动态值。
    flush属性:指定是否刷新缓冲区
    【功能说明】flush属性指定在包含目标资源之前是否刷新输出缓冲区,默认值为false。flush属性不可以接受动态值。
    

    <jsp:param>动作介绍

    动作可以用于、< jsp:forward>和动作体中,为其它标签提供附加信息。

    <jsp:param>动作的语法格式如下:
    <jsp:param name="paramName" value="param Value"/> 
    
    
    **属性介绍:**    
    name属性:指定参数名
    【功能说明】name属性用于指定参数名称,不可以接受动态值。
    value属性:指定参数值
    【功能说明】value属性用于指定参数值,可以接受动态值。

    下面是示范例子:

    index.jsp(起始页面)

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <html>
        <head>
            <title>include动作实例演示</title>
        </head>
        <body>
            <h1> include动作实例演示!</h1>
            以下是hello1.jsp页面的内容:
            <hr>
            <jsp:include page=“hello1.jsp">
                 <jsp:param name="Name" value="QQ" />
            </jsp:include>
        </body>
    </html>

    注:设置传递参数的方式

    hello1.jsp(添加页面)

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <html>
        <head>
             <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
             <title>JSP Page</title>
         </head>
         <body>
            <%=request.getParameter("Name")%>你好,欢迎你访问!%>
          </body>
    </html>

    注:获取传来参数的方式 <%=request.getParameter(“Name”)%>

    <jsp: forward> 动作

    用于引导客户端的请求到另一个页面或者是另一个Servlet去。

    <jsp:forward>语法格式如下:
               <jsp:forward page="relativeURL" />
               <jsp:param name="paramName1" value="paramValue1"/> 
               <jsp:param name="paramName2" value="paramValue2"/> 
               </jsp:forward>
    
    **<jsp:forward>动作可以包含一个或几个<jsp:param>子动作,用于向要引导进入的页面传递参数。**          
    需要注意,当<jsp:forward>动作发生的时候,如果已经有文本被写入输出流而且页面没有设置缓冲,那么将抛出异常。

    下面是示范例子:
    login.jsp

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
       <form method="get" action="checklogin.jsp">
           <table>
                <tr><td>输入用户名:</td>
                   <td><input type="text" name="name" value
    =<%=request.getParameter("name")%>></td>
                </tr>
                <tr><td>输入密码:</td>
                     <td><input type="password" name="password"></td>
                </tr>
                <tr ><td><input type="submit" value="登录"></td></tr>
          </table>
      </form >

    checklogin.jsp(登录验证页面)

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <body>
    <%--登录验证--%>
    <%
        String name=request.getParameter("name");
        String password=request.getParameter("password");
        if(name.equals("qq")){
     %>
          <jsp:forward page="success.jsp">
          <jsp:param name="user" value="<%=name%>"/>
          </jsp:forward>
     <%
        }
        else{
     %>
          <jsp:forward page="login.jsp">
          <jsp:param name="user" value="<%=name%>"/>
          </jsp:forward>
         <%}%>
    </body>

    success.jsp(登录成功页面)

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <html>
       <head>
           <title>成功页面</title>
       </head>
      <body>
           登陆成功
           <br>
           欢迎你,<%=request.getParameter("name")%>
       </body>
    </html>

    <jsp:useBean> 动作

    动作用来装载一个将在JSP页面中使用的JavaBean,创建实例供页面使用。这个功能非常有用,能够实现Java组件重用。

    <jsp:useBean>语法格式如下:
    <jsp:useBean id="beanInstanceName"  scope="page | request | session | application"
    class="package.class"
    type=“package.class“  说明是类本身,还是父类或接口
    beanName="package.class"/> 

    <jsp:setProperty>动作元素

    动作用来设置、修改已经实例化的Bean中的属性值。 常和一起使用。

    <jsp: setProperty>语法格式如下  :
    <jsp:setProperty  name="beanInstanceName"  property= "*" |property="propertyName" [ param="parameterName"| value="value"]/>

    <jsp: getProperty> 动作

    动作获取指定Bean属性的值,转换成字符串,然后输出。

    <jsp:getProperty>语法格式如下:
    <jsp:getProperty name="beanInstanceName" property="propertyName" /> 
    

    下面是示范例子:
    文件: TestBean.java

    /* 文件: TestBean.java */
    package action;
    
    public class TestBean {
       private String message = "No message specified";
    
       public String getMessage() {
          return(message);
       }
       public void setMessage(String message) {
          this.message = message;
       }
    }

    index.jsp文件

     <html>
     <head>
     <title>Using JavaBeans in JSP</title>
     </head>
     <body>
     <center>
     <h2>Using JavaBeans in JSP</h2>
    
     <jsp:useBean id="test" class="action.TestBean" />
    
     <jsp:setProperty name="test" 
                        property="message" 
                        value="Hello JSP..." />
    
     <p>Got message....</p>
    
     <jsp:getProperty name="test" property="message" />
    
     </center>
     </body>
     </html>

    转载地址:

    http://www.runoob.com/jsp/jsp-actions.html

  • 相关阅读:
    笔记本出现故障,蓝屏状态中 沧海
    Form Head Data 沧海
    西门子索毕业生30万违约金败诉 被指培训名不副实 沧海
    Questions about purchasing 沧海
    甲骨文Bosma先生谈托管型CRM 沧海
    有关T型账户 沧海
    到岸成本 沧海
    紧张的学习 沧海
    SOA仍旧看着很美 沧海
    心情变得很糟糕 沧海
  • 原文地址:https://www.cnblogs.com/AbeDay/p/5026866.html
Copyright © 2011-2022 走看看