社区
Java EE
帖子详情
<%! %>中为什么不能使用request
jiangtianyin
2010-04-17 09:27:09
在jsp中可以用<%! %>申明变量,但是为什么不能在其中使用request、out等内置对象呢,例如我滴代码:
<%!
String name=request.getParameter("userName");
String password=request.getParameter("userPwd");
%>
提示:request cannot be resolved
<% %>和<%! %>有什么区别?
...全文
322
21
打赏
收藏
<%! %>中为什么不能使用request
在jsp中可以用申明变量,但是为什么不能在其中使用request、out等内置对象呢,例如我滴代码: 提示:request cannot be resolved 和有什么区别?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huhk
2011-02-20
打赏
举报
回复
<%! %>里面的变量,多线程访问会出问题。
wanglifeng595
2010-04-19
打赏
举报
回复
其实,<%! %>里的代码,就好比是在类里的代码,但却是在类的方法之外(也就是通常我们在类里申明的全局变量的地方)。而<% %>就相当是我们的main()方法底下的代码,当然是可以直接执行的。
而jsp页面就好比是一个类,毕竟最终还是要转化为servlet类,当然这不是我们所关心的(Tomcat从事的工作)
cd0425
2010-04-18
打赏
举报
回复
[Quote=引用 1 楼 unhappyway 的回复:]
<%! %>是用来声明变量和方法的,你把Java语句写在里边会报错的,Java语句应该写在<% %>里。<%! %>
里的内容也可以写在<% %>里。
[/Quote]
对的
naruto__
2010-04-18
打赏
举报
回复
[Quote=引用 1 楼 unhappyway 的回复:]
<%! %>是用来声明变量和方法的,你把Java语句写在里边会报错的,Java语句应该写在<% %>里。<%! %>
里的内容也可以写在<% %>里。
[/Quote]
that‘s it
keephope
2010-04-18
打赏
举报
回复
<%!
%>
里面写的方法和变量都会作为静态的方法和变量,会消耗服务器资源,同时也有可能引发多个变量同名的问题,记得好像是这样的
因此基本所有的代码都需要写到
<%
%>
里面
同事,在页面写方法是一种非常愚蠢的行为。完全忽略了JAVA的代码重用的意义
神之泪花
2010-04-18
打赏
举报
回复
[Quote=引用 1 楼 unhappyway 的回复:]
<%! %>是用来声明变量和方法的,你把Java语句写在里边会报错的,Java语句应该写在<% %>里。<%! %>
里的内容也可以写在<% %>里。
[/Quote]
+1
声明的方式不同
wwwrrrmmm
2010-04-18
打赏
举报
回复
学习JSP最好的办法是看它生成SERVLET之后的原码。
不知道你是否看过。
如果是tomcat服务器,源码在work目录底下一直进去直到看到你的工程名。(发布是发布在webapps底下)
你去看下,<%%>里面的东西。服务器将它变成java代码放在_jspService这个方法里面。
<%!%>这里面的代码,是放在class ***{这里面的},类似于我们定义类的属性。
所以。当然,你能够像下面这样子用吗?
class a{
request.getparameter().......
}
当然不行。
另外还有就是import语句。。
当然就是像JAVA里面放在类外面的import一样了。放的位置不同,功能也是不一样的。。够明白了吧
longlikema
2010-04-18
打赏
举报
回复
申明公共变量的 你拿来处理逻辑
不识别!!!
fiaryeli520
2010-04-18
打赏
举报
回复
顶1楼
sm521
2010-04-18
打赏
举报
回复
顶1楼
leon_xiao
2010-04-18
打赏
举报
回复
<%!
xxx
%>
会被编译为servlet里面的 成员, 试想写个servlet的方法。
老马888
2010-04-18
打赏
举报
回复
申明公共变量的 你拿来处理逻辑不识别!!!
angel
2010-04-18
打赏
举报
回复
1楼正解,<%! %>是用来声明变量和方法的,为了让程序员写的代码读起来更容易
licip
2010-04-18
打赏
举报
回复
[Quote=引用 4 楼 huhk 的回复:]
建议楼主看一下jsp编译后生成的servlet就知道了。
[/Quote]用<%! %>申明的是类里面的属性,或方法,用<% %>申明的是:类方法_jspService中的局部变量。
van_bo11
2010-04-18
打赏
举报
回复
学习。。。。
huhk
2010-04-18
打赏
举报
回复
建议楼主看一下jsp编译后生成的servlet就知道了。
dut703
2010-04-18
打赏
举报
回复
怎么定义的,你就怎么来
hfliyy
2010-04-17
打赏
举报
回复
他怎么定义我们就怎么用吧,源码又不是我们写的。
weberwong
2010-04-17
打赏
举报
回复
需要主动传进去,这样就可以了
<%!
private void test(HttpServletRequest request, HttpServletResponse response)
{
}
%>
<%
test(request, response);
%>
编程学童
2010-04-17
打赏
举报
回复
<%! %>是用来声明变量和方法的,你把Java语句写在里边会报错的,Java语句应该写在<% %>里。<%! %>
里的内容也可以写在<% %>里。
JSP
中
<%%> 和 <%!%>的区别
先来看一道题,猜猜它的输出: <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% int x=5; %> <%! int x=7; %> <%! int getX(){return x;}%> &l
java
中
.getX_在 JSP
中
,给定以下 JSP代码片段,运行结果是() <% int x=5; %> <%! int x=7; %> <%! int getX(){ return x;...
【单选题】以下JSP脚本理解错误的是【单选题】JavaBean 的文件类型是( )【单选题】有关C/S、B/S结构下列说法错误的是【单选题】在 JSP页面
中
, 保存数据的范围由小到大依次是【单选题】pageContext.setAttribute("user","tom");
request
.setAttribute("user","bob");显示"tom",则可以
使用
【填空题】 动作用于从一个(...
jsp页面的全局变量<%! %>声明
一般喜欢把页面里多处要用到的变量设置成全局变量,如: 当把该变量赋值后,再次访问该页面时,该变量的值依然保存。这使得想通过用全局变量接受提交的参数时会受到一些迷惑: if(
request
.getParameter("operation")!=null) ID =
request
.getParameter("operation").trim(); 当ID在前一次赋过初值后,...
<%@ Page%> page指令属性
以前只知道会用就行,今天boss让我去理解一下里面的各个属性的用法,于是就有了这篇东凑西凑的文章! 是页面指令,作用于当前页面,指定
使用
语言、代码页等等。 eg: 页面指令: ASP.NET 页面
中
的前几行,一般是%@...%这样的代码,这叫做页面指令。用来定义ASP.NET页分析器和编译器
使用
的特定于该页得一些定义。在.aspx文件
中
使用
的页面指令一般有以下几种:
如何在jsp里面定义方法
转载自百度知道。 标签里面的内容表示的是在doservice方法里面(jsp编译成的类)执行的,为了可以定义方法,必须放到外面,用标签: jsp页面
中
如何定义一个方法。 2012-05-10 15:45lhhhyj888 | 分类:其他编程语言 | 浏览2039次 比如我这样就可以 <%! public void gg(){ } %>
Java EE
67,549
社区成员
225,860
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章