jsp页面中,<%! %>的感叹号是干什么用的?

jsp中定义和使用方法示例介绍 在jsp中,如果需要处理复杂数据时,在上方定义一个java方法是很有效的解决方案,把处理数据的责任推给该方法,然后该jsp页面的主流程就不受影响。当然也可以使用js定义方法来处理,js似乎更善于定义这样的方法来处理前台数据,但有时候jsp和js之间倒腾数据时会出乱码或者报一些找不到对象的错误,因此他们之间的互相传值还是越少越好。 看一看jsp中定义一个字符串处理的方法: 代码如下: <%! String splitString(String str, int a) { if (str != null && str.trim().length() > 0 && a > 0) { // 取得该字 立即下载

jsp页面中,<%! %>的感叹号是干什么用的?

2011-08-14 21:07 friendsfriend  |  浏览 8166 次
我从网上找的代码,生成验证码图片用的,如下,去掉<%! 旁边的感叹号后就报错了,这个感叹号代表什么意思啊?
<%@ page contentType="image/jpeg"%>
<%@ page import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"%>
<%!
	Color getRandColor(int fc, int bc) {//给定范围获得随机颜色
		Random random = new Random();
		if (fc > 255) fc = 255;
		if (bc > 255) bc = 255;
		int r = fc + random.nextInt(bc - fc);
		int g = fc + random.nextInt(bc - fc);
		int b = fc + random.nextInt(bc - fc);
		return new Color(r, g, b);
	}
%>
……
2011-08-14 21:35 提问者采纳
<%!%>是声明标签
因为Jsp页在到tomcat的时候会被编译为java文件
jsp页面里面的所有东西都会包含在一个方法里
如果不用声明标签去声明这是个方法
就会报错了
因为方法里面不能有方法
提问者评价
谢谢你,谢谢大家啊
评论(4)  |  60  2
2015-4-30 13:11 轩辕渡痕
楼上sb,最后一句话才是精髓。上面已经说了,编译后jsp页面所有内容会包含在一个方法里面,如果直接在<%%>里写方法,那么这就是方法中的方法,直接编译不通过。 回复
2014-9-11 23:10 zh369852264
说的是不错,可最后一句有点........ 回复
2014-5-11 22:38 skitte
确实方法要写在这个标签里面。 回复
2012-10-26 13:38 L9237
这位老师答得真好:) 回复

为您推荐:

其他6条回答

2011-08-14 21:15 lyl7120  | 四级
<%! %>一般用于一行Java代码,一般常见于变量的定义。
<% %>一般用于多行java代码,即代码块。
你的程序很明显是“一行”,注意java语言中“一行”的概念不是编辑器中显示的一行,而是编译器认可的“一行”。
如:
int
i
=
10
;
看上去是5行,但编译器认为是“一行”
java中“行”的分隔符一个是“;”,另一个就是“{}”,即复合语句。
评论  |  5  11
2011-08-14 21:16 yq12010902  | 四级
<%!
Color getRandColor(int fc, int bc) {//给定范围获得随机颜色
Random random = new Random();
if (fc > 255) fc = 255;
if (bc > 255) bc = 255;
int r = fc + random.nextInt(bc - fc);
int g = fc + random.nextInt(bc - fc);
int b = fc + random.nextInt(bc - fc);
return new Color(r, g, b);
}
%>
这是在jsp页面中写java脚本的语法,你去掉了当然会报错呀,如没有了语法,你说还能不能在页面上直接写java代码???
评论  |  0  8
2011-08-14 21:35 635333024  | 三级
用于声明
评论  |  0  0
2011-08-14 22:02 anliguo131  | 二级
定义方法或变量,麻烦你可以看一下这方面的资料
评论  |  2  0
2011-08-14 22:12 一个IT小兵  | 二级
<%@ %>、<%! %>、<% = %>等这些是jsp中的基本语法元素,<%! %>是jsp中的申明标签 ,如果去掉的话就变成表达式啦,加个!来区分
基于YOLO11深度学习的糖尿病视网膜病变智能诊断系统【Python源码+Pyqt5界面+数据集+训练代码】 本文详细介绍如何利用YOLO11深度学习技术构建糖尿病视网膜病变智能诊断系统。项目提供完整的Python源码、PyQt5图形界面、标注数据集及训练代码,实现从图片、视频到摄像头的多模态病变检测,旨在辅助医疗筛查,提升诊断效率。 阅读详情

相关推荐

Slurm集群调度策略详解(1)-主调度

Slurm调度系统中针对作业的调度主要有三种,主调度,回填调度,GANG调度,这篇文章主要针对主调度进行解析。

h_m_l的博客 6030

Jsp基础复习(一)

知识储备 JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。JSP实际上就是Servlet。 JSP原理 浏览器将JSP文件发给服务器,服务器将jsp文件翻译成JAVA文件,然后在编译成字节码文件(.class)最后再返回给服务器 然后可以再服务器下的work文件夹下\work\Catalina\localhost...

qq_41816516的博客 1296

【UE4】PMC程序化生成戈德堡多面体详解(六边形星球)

游戏实机录屏 【魔方超新星】30天独立开发PCG Minigame《盖亚计划》作品展示,尚有不足,大佬轻喷 目录 游戏实机录屏 一、简介 二、设计思路 2.1 Disco Ball 2.2 Fibonacci Sphere 2.3 Goldberg Polyhedron 2.3.1 细分+对偶(最终方案) 2.3.2 对偶+截角(更优) 三、参考文献 一、简介 在制作Minigame初期,游戏风格想模仿《文明6》与《Polygonal Planet Proje...

ColorGalaxy 5930

JSP语法之<% %>系列

JSP基础语法之<% %>系列

qq_45784059的博客 9393

Windows本地部署Ollama+qwen本地大语言模型Web交互界面并实现公网访问

本文主要介绍如何在Windows系统快速部署Ollama开源大语言模型运行工具,并安装Open WebUI结合cpolar内网穿透软件,实现在公网环境也能访问你在本地内网搭建的大语言模型运行环境。近些年来随着ChatGPT的兴起,大语言模型 LLM(Large Language Model)也成为了人工智能AI领域的热门话题,很多大厂也都推出了自己的大语言模型,并或多或少的开源了自己的大语言模型,今天就来分享一个最近很火,且对于小白来说比较好上手本地部署的运行本地LLM的工具Ollama。

迪之的博客 1652

手把手教你学simulink(24.4)--Simulink在机器人视觉场景下的应用——基于视觉的物体跟踪与抓取

该系统集成了图像处理、目标检测、运动估计、路径规划、抓取控制和视觉反馈等多个功能模块,能够实现实时处理视觉数据、检测并跟踪移动物体、规划最优路径并控制机械臂进行精确抓取。本项目的目标是使用Simulink和MATLAB设计一个基于视觉的物体跟踪与抓取系统,该系统能够实时处理图像数据,检测并跟踪移动物体,规划最优的抓取路径,并控制机械臂进行精确抓取。为了验证系统的性能,我们在Simulink中搭建了基于视觉的物体跟踪与抓取系统的仿真模型。

MHD0815的博客 257

JSP页面中<%!%>与<%%>与<%=%>

首先,我们要了解jsp运行原理。JSP的本质就是一个Servlet,JSP的运行之前会先被Tomcat服务器翻译为.java文件,然后在将.java文本编译 为.class文件,而我们在访问jsp时,处理请求的就是那个翻译后的类。 1.<% %>叫做脚本片段,其中写的内容会翻译在Servlet的Service方法中,显然我们可以在Service方法中定义局部变量或者调用其他方法,但是不能 在Service中再定义其他的方法,也就是我们可以在<%%>中定义局部变量或者调用方法,但不能定

LiLiYuan.的博客 4342

AI人工智能与数据挖掘的技术融合趋势

我们的目的是搞清楚AI人工智能和数据挖掘是怎么融合在一起的,以及这种融合未来会有什么样的发展趋势。范围涵盖了这两种技术融合的原理、应用场景,还有未来可能面临的挑战。我们会先讲讲AI人工智能和数据挖掘是什么,它们之间有什么关系。然后说说它们融合的算法原理、数学模型。接着通过一个实际的项目案例,看看它们是怎么在实际中运用的。还会介绍一些它们的应用场景和相关工具。最后分析一下未来的发展趋势和挑战,并且总结学到的知识,提出一些思考题让大家思考。AI人工智能。

AI 领航者的博客 1367

【JSP】09 JSP的三种脚本元素 <% %>

例如我们想将3输出到浏览器页面,那么我们要使用<% out.println(3)%>,必须是<%%>与out.println()语句结合使用才能实现效果。<%= expression%> 参数expression可以是Java语言中任意完整的表达式,该表达式的最终结果会转换成一个字符串。<% %>的特点在于,它是用来写Java代码的。并且它声明变量都是局部的,只能在<%%>里面生效。%>主要用于定义全局变量或者方法,使用<%!<% Java代码(变量、方法、表达式) %><% %>不能进行方法的定义。

MOUNTAIN_SEA1的博客 1342

【51单片机仿真】基于51单片机设计的多功能电子时钟日历(实时时钟闹钟秒表温度检测)系统__资料编号5

该项目是基于单片机的多功能电子时钟系统,集成了时间显示、闹钟设置、秒表功能以及温度显示等功能。主要硬件包括1602液晶显示屏、DS1302时钟芯片、DS18B20温度传感器和蜂鸣器。系统通过按键进行时间和闹钟的设置,并实时显示当前时间和温度。

嵌入式阿齐Archie 2万+

第1章 机器人SLAM算法工程师主要做什么的?(附SLAM学习路线及资料推荐)

对于想从事机器人与自动驾驶领域的在校大学生、研究生来说,建图定位算法工程师是一个极具发展潜力的岗位,而SLAM知识体系则是胜任该岗位的核心支撑。从基础的计算机工具、C++语言,到核心的开源框架、数学知识,再到硬件衔接与项目实践,每一个环节都不可或缺。建议大家结合自身兴趣确定侧重方向(如激光SLAM、融合定位),先通过开源项目建立实践认知,再补全理论知识,同时积极参与社区交流。

行知SLAM 953

Jsp代码加感叹号与不加感叹号的区别

2056

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

页面报错500,jsp无法编译类

问题描述: 1.页面报错500,jsp无法编译类 2.javaweb项目名山标有感叹号! 本博客只是记载自己学javaweb的道路上遇到的问题,防止以后遇到同类型问题不知所措。 本项目用到了java bean EL表达式 jsp 在jsp中写EL表达式时虽然没有报错但是项目名标感叹号。 导入jar包就行了 jstl.jar包 standard-1.1.2.jar包 发现导入这两个...

weixin_43755104的博客 3293

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

jsp可以写html页面,编写四个jsp页面 用jsp编写一个很简单的登陆页面

编写一个JSP页面: 计算圆周长和面积experiment1_2.jsp 具体要CSS布局HTML小编今天和大家分享: 声明 请输入半径: 圆周长: 面积:编写3个jsp页面: main. jsp, circle. jsp, ladder编写3个jsp页面: main. jsp, circle. jsp, ladder. jsp。将三个jsp页面main.jsp 加载circle.jsp计算半径的...

weixin_42505462的博客 2313

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

jsp文件什么时候编译成java_jsp编译后是什么文件

详细内容可能大多数Jsp开发员在写完程序测试通过后,不太会关注Jsp生成的Java文件,其实,通过Java代码,更能体现程序代码的真正含义,对进一步研究程序代码的后台运行情况是非常有帮助的。例如,用Jsp编写代码时,有时候用,有时候用,加不加感叹号,到底有什么不同吗? (Jsp代码加感叹号与不加感叹号的区别)这类问题在教程里一般不会涉及到,从哪里找到问题的突破口呢——Jsp生成的Java文件!所以...

weixin_39623411的博客 763

java编完之后是什么文件_jsp编译后是什么文件

可能大多数Jsp开发员在写完程序测试通过后,不太会关注Jsp生成的Java文件,其实,通过Java代码,更能体现程序代码的真正含义,对进一步研究程序代码的后台运行情况是非常有帮助的。例如,用Jsp编写代码时,有时候用,有时候用,加不加感叹号,到底有什么不同吗? (Jsp代码加感叹号与不加感叹号的区别)这类问题在教程里一般不会涉及到,从哪里找到问题的突破口呢——Jsp生成的Java文件!所以,对于J...

weixin_31598511的博客 1012

java 生成jsp文件_怎样查看Jsp编译后生成的Java文件

展开全部可能大多数Jsp开发员在写完程序62616964757a686964616fe59b9ee7ad9431333363373731测试通过后,不太会关注Jsp生成的Java文件,其实,通过Java代码,更能体现程序代码的真正含义,对进一步研究程序代码的后台运行情况是非常有帮助的。例如,用Jsp编写代码时,有时候用,有时候用,加不加感叹号,(Jsp代码加感叹号与不加感叹号的区别)这类问题在教程...

weixin_36438124的博客 396

myeclipse中jsp项目旁边有红色感叹号

当项目上有红色感叹号,但是找遍文件,并没有文件出错的情况下, 基本上是以下原因: 用myeclipse新建 web工程, 在工程目录下会生成一个 .classpath 配置文件,里面是你工程里面引用的jar的配置。这个.classpath 对你的web工程没有什么影响其实是给 myeclipse 识别的。你说的这种情况是因为 .classpath 文件里面  配置引用了某个jar,但是实际上

Caster_Saber的专栏 3572

怎样查看Jsp编译后生成的Java文件

可能大多数Jsp开发员在写完程序测试通过后,不太会关注Jsp生成的Java文件,其实,通过Java代码,更能体现程序代码的真正含义,对进一步研究程序代码的后台运行情况是非常有帮助的。例如,用Jsp编写代码时,有时候用,有时候用,加不加感叹号,到底有什么不同吗? (Jsp代码加感叹号与不加感叹号的区别)这类问题在教程里一般不会涉及到,从哪里找到问题的突破口呢——Jsp生成的Java文件!所以,对于J...

ymy131931的博客 1036

html编写乘法表的原理,jsp基本页面编写 Jsp在页面上输出九九乘法表

把扩展名.html改成.jsp 在页面最前头加上: 如果要引入标签库的话,如下(举个引用c标签库的栗子): 如果要写 一些函数之类的,在当前处理方法之外的,需要如下格式: 如果要在jsp中插入java代码,需要如下格式(注意少个感叹号): 如果需要取值上面有2个输入窗口 和一个按钮 按 按钮的时候 打开一个新的窗口 然后吧主页面: 主窗口 信息一: 信息二: 显示页面: 接收页面 信息一: 信息二...

weixin_42298646的博客 935

JSP基础—URL、指令及动作

JSP基础1.第一个JSP页面2.注释3.JSP表达式、程序段和声明3.1 JSP表达式3.2 JSP程序段3.3 JSP的申明4.URL传值5.Jsp指令和动作5.1 JSP指令5.1.1 page 导入包5.1.2 page 设定字符集5.1.3 page 设定错误页面5.1.4 include 引入页面5.2 JSP动作5.2.1 引入页面5.2.2 跳转页面 1.第一个JSP页面 <% out.print("Hellow word"); %> 说到底,JSP就是用java设

小橙菜鸡的博客 1212

myeclipse 项目 红感叹号 黄色感叹号的jar文件

项目名称上面 有红色感叹号 此时编写的类将不能自动编译   产生的原因是,java build path 设置不正确。右键选择工程,选择属性,选择java build path,进行修改错误的jdk等属性项   或者手动删除jar包时,此处也要同步移除 用 tomcat 7 发现  项目会缺少 servlet-api.jar 包 有的少jsp-api.ja

zbz0425的专栏 6455

struts2 动态方法调用 感叹号

学习Struts2有一段时间了。对于Struts2的动态方法调用做一下总结。 struts2的动态方法调用概括起来有三种方式,下面介绍: 1、第一种方式:设置method属性 在Action类中定义一个签名与execute方法相同、只是名字不同的方法,如定义为: publ

有梦就能实现 1万+
上一篇: javaweb学习总结(十九)——JSP标签
下一篇: JSP页面<%@ ...%>是 什么意思
javaPie
博客等级 码龄16年 1171粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值