老师请帮忙检查,Thanks♪(・ω・)ノ

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,1. 在 <%!%>中声明变量时,每次页面被刷新后,sum变量会不断的叠加,不是一直为5050(同学可以刷新页面,查看一下结果)。

2. <%!%>称作声明,其中写的内容将来会直接翻译在Servlet类中,因为我们可以在类中定义方法和属性以及全局变量,所以我们可以在<%!%>中声明方法、属性、全局变量。

3. <% %>叫做脚本片段,其中写的内容会翻译在Servlet的Service方法中,显然我们可以在Service方法中定义局部变量或者调用其他方法,但是不能在Service中再定义其他的方法,也就是我们可以在<%%>中定义局部变量或者调用方法,但不能定义方法。在jsp页面可以有多个脚本片段,但是多个脚本片段之间要保证结构完整。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 阿姜爱学习 提问者 #1
    好的,我明白了,谢谢老师~~~
    2020-03-23 16:38:30
提问者 阿姜爱学习 2020-03-23 15:20:42

老师好,没有理解您的意思@_@,代码在我这里运行时结果没有问题.还是不太清楚什么时候该用<%! %>和<% %>

http://img1.sycdn.imooc.com//climg/5e7862a909c8177b11770471.jpg

好帮手慕小尤 2020-03-23 15:00:29

同学你好,运行代码出现sum值叠加的情况。如下图所示:

http://img1.sycdn.imooc.com//climg/5e785d7e09af5a6e01590058.jpg

    <%!%>称作声明,其中写的内容将来会直接翻译在Servlet类中,因为我们可以在类中定义方法和属性以及全局变量,所以我们可以在<%!%>中声明方法、属性、全局变量。

    在<%! int sum=0; %>相当于声明的属性,在运行代码进行修改,属性值也会修改,会出现叠加的情况。所以建议同学在<% %>中声明sum变量。修改后代码如下所示:

http://img1.sycdn.imooc.com//climg/5e785dc8093bf08903800172.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 阿姜爱学习 #1
    老师,我在新评论中回复了,麻烦您再帮我看一下,谢谢
    2020-03-23 15:21:19
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师