JSP中的Java表达式和Java Scriplets之间的区别

Rav*_*mer 2 java jsp

我发现自己需要为我的软件工程课学习一点JSP.我们的一个功课问题如下:

What are the output of these two code snippets if the parameter "myText" has the
value "JSP is fun"?

<% request.getParameter("myText"); %>

...and...

<%= request.getParameter("myText") %>
Run Code Online (Sandbox Code Playgroud)

这是我的答案:

第一行代码片段应正确返回"JSP is Fun".

第二行代码也应正确返回"JSP is Fun",因为它是一个表达式,这意味着它不需要使用分号来正常运行(并且不能使用分号).

我错过了一些明显的东西,或者这个相对简单的问题真的没有了吗?

rya*_*ogo 6

第一个不打印任何东西,因为它被<% ... %>标签包围.

第二个将打印,JSP is fun因为它被<%= %>标签包围.

=标记中的部分表示它应该打印出标记内代码的返回值.

另外,第一个代码片段也可以打印出值,JSP is fun如果它是这样编写的:

<% out.println(request.getParameter("myText")); %>
Run Code Online (Sandbox Code Playgroud)