声明JSP方法的JSP页面元素是什么?

在JSP中定义方法,说实话,这个还是蛮有趣的。
当我开始这样做时很容易感到困惑。

1 .在这个方法中,你需要使用<%! %>,是的<%! %>,将其包裹起来。
仔细想想,它就像一个盒子,用来存放东西的。
这个<%! %> 就是 JSP 所说的:“嘿,我想在这里定义一些东西,它可能是一个变量或一个方法。
”该标签与<% %>不同。
<% %> 用于编写脚本或输出某些内容。

2 然后,如果您想在方法中使用 out 对象,即打印某些内容的对象,则需要将其传递到方法参数中。
例如,如果您编写 void printSomething.jspWriter out) { out.println("Hello"); }。
你看,我传递了一个被调用的参数,并且我必须声明一个方法来抛出 IOException。
为什么要扔掉它?说实话,我当时并没有想到这一点。
也许这就是JSP人的规则。
不过,你必须这样写,否则会报错。

3 在最后一个区域,不要管它。
使用默认值即可,该值仅在当前 JSP 文件中可用。
想一想,这个方法反正是内部使用的,为什么要定义这么复杂的范围呢?只需将其保留为默认值即可省去麻烦。

就是这样,我当时就是这么做的。

15. 在JSP中声明一个整型变量i的语句是____________

说实话,在 JSP 中声明整型变量 i 的两种方式很容易混淆。
当我刚开始研究它时,我经常误认为成员变量和局部变量。

看看这个<% 因蒂=0; %>,这种写法实际上是把i当成了一个局部变量,只能在当前脚本块中使用。
我记得在一个老项目中,有一个哥们是这样声明计数器的。
结果每次请求都重新初始化为0,导致页数不一致。
花了大部分时间才发现问题所在。

并且<% !inti=0; %>,这个带感叹号的方法把i当作一个成员变量,属于整个JSP页面的类级变量。
我有一个项目使用它作为用户登录状态。
将 isLogin 设置为 true 后,在整个页面的其他部分使用 session.getAttribute("isLogin") 即可获取该值,非常方便。

有趣的是,这两个方法的作用域区别其实有点类似于Java中的静态变量。
但是JSP的成员变量没有像Java那样有构造函数初始化。
直接在<%!中赋值即可 %>. 我记得有一次我忘记初始化 <%! 中的成员变量了。
%>,页面最终抛出 NPE。
我当时很困惑。

数据我记得JSP 1 .2 规范中明确区分了这两种说法,但具体年份记不清了。
我建议你查看官方文档。
块级作用域中的局部变量实际上更有用。
例如,在我最近构建的电子商务网站上,我每次循环浏览产品列表时都使用 <%inti=0;%> 来声明计数器。
最终局部变量被自动回收了,代码也更清晰了。

我从来没有亲自在这方面运行过 ES6 模块化 JSP。
不知道这种写法在现代框架中是否还常见。
不过,在传统的JSP开发中,这两种声明方式的区别还是很重要的。
如果使用不当,整个页面逻辑可能会崩溃。

在JSP页面中,嵌入JAVA代码片段的语法格式是什么?声明的语法格式为什么?

2 005 年,北京使用该语法修改JAVA代码“<%JAVA %>代码”来定义全局变量,如“<%!inta=1 ;%>”。
全局方法定义如下,“<%!getmax(inta,intb){intmax=a>b?a:b;returnmax;}%>。

在JSP页面中,使用JSP表达式<%=表达式%>,可以直接将Java表达式结果输出到页面。
这个表达式最终会被转换为直接字符串,例如“