我正在研究var collectionWrapper = new ObservableCollectionWrapper<object>(collection, this.Dispatcher);
var defaultView = CollectionViewSource.GetDefaultView(collectionWrapper);
和JSP
,并向大家提问,因为在几个视频中,我看到老师正在使用如下所示的片段,因此我使用了一个示例Servlets
,任何array
只是为了更好地显示我的意思。
objects
但是有时候,当他使用标准的<%
Student[] students = new Student[]{students};
names.setAttribute("students", students)"
%>
而不是for
JSTL
时,他在下面编写这样的脚本。
c:forEach
单个<%
for (String temp : students) { %>
<tr>
<td><%=temp.getFirstName()%></td>
<td><%=temp.getLastname()%></td>
<% } %>
与<% %>
之间有什么区别,我们是否需要像上面那样使用或不使用它?
答案 0 :(得分:0)
可以使用其中任何一种。 c:forEach
方法的 only 问题是您 可能必须安装并包括JSTL标记库。根据您的环境和技能,这可能会有些痛苦。
上面显示的示例使用带有JSP标记的“纯” Java。 <%
和%>
之间的任何内容都是常规Java代码。这是内置在JSP语言中的。 <%=
是使用内置在JSP中的out
隐式对象的快捷方式(有关所有变量的列表,请参见this page)。也可以写成:
<%
for (String temp : students) { %>
<tr>
<td><% out.print(temp.getFirstName()) %></td>
<td><% out.print(temp.getLastname()) %></td>
<% } %>
但现在是警告。了解这一点很好,并且根据您的谋生方式,很可能会遇到JSP代码。我已经为即使在今天仍然拥有JSP代码的人们提供了咨询。但是到了@GyroGearless使JSP成为新项目的最佳实践的地步。最终,他们将业务逻辑与显示逻辑混合在一起。在具有UI人员和Java人员的大型项目中,可能很难分开工作。创建JSP标签库是为了最大程度地减少这种情况,但这并不是最佳选择。
今天的新项目将显示逻辑与后端逻辑分开。您可以利用本周的JavaScript库(即AngularJS,ReactJS,Ember等)来编写前端,并使用JAX-RS等现代技术来创建后端,从而创建一个具有REST / JSON接口的AJAX前端。 / p>