zoukankan      html  css  js  c++  java
  • JSP脚本元素(声明 %! 表达式 %= 脚本 %)

    JSP脚本元素包括声明、表达式、脚本

    声明(declaration):用于在JSP页面中声明合法的变量和方法。以“<%!”开始,以“%>”结束。

    在JSP页面中,一个声明可以出现在任何地方,并且一个页面可以有多个声明。

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
    <%@ page import="java.util.Date"%>
    
    <!DOCTYPE html>
    <%-- 声明一个方法 --%>
    <%! 
    public String getTodaysDate() { return (new Date()).toString(); }
    %>
    <html> <head> <meta charset="utf-8"> <title>Declarations</title> </head> <body> Today is <%=getTodaysDate() %> </body> </html>

    表达式(expression):计算表达式的值,并使用隐式对象out将结果以字符串的形式输出。以“<%=”开始,以“%>”结束。

     表达式不需要分号结尾。

    Today is <%=java.util.Calendar.getInstance().getTime() %>

    JSP容器首先执行java.util.Calendar.getInstance().getTime(),然后将结算结果传递给内置对象out输出,即

    Today is 
    <%
      out.println(java.util.Calendar.getInstance().getTime());
    %>

    脚本(scripts):合法的Java代码。以“<%”开始,以“%>”结束。

    定义在一个脚本程序中的变量可以被其后续的脚本程序使用。

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
    <%@ page import="java.util.Enumeration" %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
        <title>Scriptlet example</title>
    </head>
    <body>
        <b>Http headers:</b>
        <br />
        <%-- 第一个脚本 --%>
        <%
            for(Enumeration<String> e = request.getHeaderNames(); e.hasMoreElements();){
                String header = e.nextElement();
                out.println(header + ": " + request.getHeader(header) + "<br />");
            }
            String message = "Thank you.";
        %>
        <br />
        <%-- 第二个脚本 --%>
        <%
            out.println(message);
        %>
    </body>
    </html>

    禁用脚本元素

    在部署描述符中(web.xml)定义<scripting-invalid>元素

    下面将一个应用程序中的所有JSP页面的脚本都关闭了

    注意在部署描述符中只能有一个<jsp-config>元素

    <jsp-config>
      <jsp-property-group>
        <url-pattern> *.jsp</url-pattern>
        <scripting-invalid>true</scripting-invalid>
      </jsp-property-group>
    </jsp-config>
  • 相关阅读:
    redis应用场景之文章投票设计思路
    Redis存储的5种数据结构
    v+=e 不等价于 v=v+e
    WebMagic
    指针函数和函数指针的区别
    为什么说StringBuilder不安全?
    sql注入
    Autowired报错处理
    SpringBoot入门最简单的一个项目示例
    MVC中Cookie的用法(二)---CookieHelper
  • 原文地址:https://www.cnblogs.com/0820LL/p/9851961.html
Copyright © 2011-2022 走看看