Scriptlet不会打印出值

时间:2016-03-18 02:21:12

标签: jsp

我尝试了以下JSP代码 A确实打印出dto中的内容,但是B没有。怎么样?

一个。

name: <%= dto.getName()%> <br>

B中。

name: <% dto.getName();%> <br>

1 个答案:

答案 0 :(得分:3)

<% %>这是scriptlet标记。无论你在里面写什么,都会进入JSP服务方法。你可以在里面编写简单的java代码(你不能创建新的方法)。

<%= %>这是表达式标签。无论你在里面写什么,都会被视为out.print();的参数,虽然你在使用表达式标签时不需要使用;,如案例A。

在你的情况下B如果你想打印你必须写

<%
    out.print(dto.getName());
%>

但是长期使用scriplet是不好的做法。您可以使用表达式语言或JSTL。

如果您正在使用eclipse,那么您可以看到生成的JSP servlet,您可以在其中查看scriplet的工作原理。

\Workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\work\Catalina\localhost\[AppName]\org\apache\jsp

Info