我尝试了以下JSP代码 A确实打印出dto中的内容,但是B没有。怎么样?
一个。
name: <%= dto.getName()%> <br>
B中。
name: <% dto.getName();%> <br>
答案 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