jsp页面中,<%! %>的感叹号是干什么用的?
2015-11-20 09:56
591 查看
jsp页面中,<%! %>的感叹号是干什么用的?
分享| 2011-08-1421:07friendsfriend | 浏览
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
![](http://himg.bdimg.com/sys/portrait/item/fbb7d0f9d4afb6c9badb0624.jpg)
轩辕渡痕
楼上sb,最后一句话才是精髓。上面已经说了,编译后jsp页面所有内容会包含在一个方法里面,如果直接在<%%>里写方法,那么这就是方法中的方法,直接编译不通过。回复
2014-9-11 23:10
![](http://himg.bdimg.com/sys/portrait/item/c45e7a683336393835323236345b22.jpg)
zh369852264
说的是不错,可最后一句有点........回复
2014-5-11 22:38
![](http://himg.bdimg.com/sys/portrait/item/b844736b69747465c704.jpg)
skitte
确实方法要写在这个标签里面。回复
2012-10-26 13:38
![](http://himg.bdimg.com/sys/portrait/item/9b024c393233378c27.jpg)
L9237
这位老师答得真好:)回复
![](http://img.iknow.bdimg.com/avatar/100/r6s1g4.gif)
tuoxingzhou | 四级 采纳率30%
擅长: JAVA相关 数据库DB 其他编程语言
其他类似问题
2014-11-12java中,在jsp页面里的?号是干什么的2009-10-12如何使jsp页面自动跳转7
2014-04-27JSP页面调用Struts的Action,用感叹号指向方法的...
2014-07-17要在jsp页面使用s标签,要怎么做4
2015-05-12jsp页面上做非空判断
更多关于<%!%>的问题>>
为您推荐:
建筑模板价格和规格回答者:宝康木业www.lbbkmy.net |
感叹号的相关知识
2009-07-06DNF组队后队员头像左下角有一个电脑符号和一个感叹号是我的... 16
2010-02-24感叹号等符号的符号由来 6
2011-05-02感叹号造句 121
2007-05-31感叹号的作用 553
2014-03-26dnf交易头像有感叹号
更多关于感叹号的问题>>
网友都在找:
%%
其他6条回答
2011-08-14 21:15lyl7120 | 四级<%! %>一般用于一行Java代码,一般常见于变量的定义。
<% %>一般用于多行java代码,即代码块。
你的程序很明显是“一行”,注意java语言中“一行”的概念不是编辑器中显示的一行,而是编译器认可的“一行”。
如:
int
i
=
10
;
看上去是5行,但编译器认为是“一行”
java中“行”的分隔符一个是“;”,另一个就是“{}”,即复合语句。
评论 | 5 11
分享
2011-08-14 21:16yq12010902 | 四级
<%!
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:35635333024 | 三级
用于声明
评论 | 0 0
分享
2011-08-14 22:02anliguo131 | 二级
定义方法或变量,麻烦你可以看一下这方面的资料
评论 | 2 0
分享
2011-08-14 22:12一个IT小兵 | 二级
<%@ %>、<%! %>、<% = %>等这些是jsp中的基本语法元素,<%! %>是jsp中的申明标签 ,如果去掉的话就变成表达式啦,加个!来区分
相关文章推荐
- javascript中数组方法小计
- 「大概可能也许是」目前最好的 JavaScript 异步方案 async/await
- 66、fastJson 解析json数据时,如果key值不同怎么处理?
- 跟我学习javascript的最新标准ES6
- Json.Net从4.0升级到7.0带来的问题
- C#中使用JSON.NET实现JSON、XML相互转换
- js编译与执行顺序
- 常规功能和模块自定义系统 (cfcmms)—018自定义grid方案(2)
- JSP:JSP中的EL表达式
- 详解JavaScript语言的基本语法要求
- JSP常用命令详解
- JSP:JSP动作标签
- 每天一篇javascript学习小结(面向对象编程)
- JSON数据格式
- JSP:JSP的九大内置对象
- JSP:JSP的三大指令
- JavaScript全讲-历史
- ExtJS4.2学习(11)可拖放的表格(转)
- ExtJS4.2学习(10)分组表格控件--GroupingGrid(转)
- ExtJS4.2学习(九)属性表格控件PropertyGrid(转)