/**
* 演示JSTL核心库
*/
public class JstlCoreServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//普通字符串
request.setAttribute("hello", "hello world!");
//html字符串
request.setAttribute("welcome", "<font color='red'>世界多美好</font>");
//条件控制标签
request.setAttribute("v1", 10);
request.setAttribute("v2", 20);
request.setAttribute("userList", new ArrayList());
//结构
Group group=new Group();
group.setName("TGB");
List users=new ArrayList();
for (int i=0;i<10;i++){
User user=new User();
user.setUserName("张三_"+i);
user.setAge(23);
user.setGroup(group);
users.add(user);
}
request.setAttribute("users", users);
//map
Map map=new HashMap();
map.put("k1", "v1");
map.put("k2", "v2");
map.put("k3", "v3");
map.put("k4", "v4");
request.setAttribute("map", map);
//forTokens
request.setAttribute("strTokens", "1#2#3#4#5");
request.getRequestDispatcher("/jstl_core.jsp").forward(request, response);
}
}
2)、JSP:使用JSTL接收
hello(使用标签):<c:out value="123"></c:out><br>
hello(使用标签):<c:out value="${hello }"></c:out>
hello(default):${hello123 }<br>
hello(使用缺省值):<c:out value="${hello123 }" default="没有值"></c:out> <br>
hello(使用缺省值):<c:out value="${hello123 }" >没有值</c:out> <br>
hello(使用缺省值):<c:out value="${hello }" >没有值</c:out> <br>
welcome(使用EL表达式):${welcome }<br>
welcome(使用标签,escapeXml):<c:out value="${welcome }" escapeXml="true"></c:out><br>
welcome(使用标签,escapeXml):<c:out value="${welcome }" escapeXml="false"></c:out>
<li>测试c:set,c:remove</li><br>
<c:set value="root" var="userid"/>
<c:if test="${v1 lt v2 }">
<li>条件控制标签c:choose ,c:when,c:otherwise</li><br>
<c:when test="${v1 gt v2 }">
<c:when test="${empty userList }">
<li>演示循环控制变迁:forEach(此处使用循环方式)</li><br>
List userList=(List)request.getAttribute("users");
if (userList==null || userList.size()==0){
<td colspan="3">没有符合条件的数据</td>
for (Iterator iter=userList.iterator();iter.hasNext();){
User user=(User)iter.next();
<td><%=user.getUserName() %></td>
<td><%=user.getAge() %></td>
<td><%=user.getGroup().getName() %></td>
<h3>
演示循环控制变迁:forEach(
采用forEach标签)
</h3>
<c:when test="${empty users }">
<td colspan="3">没有符合条件的数据</td>
<c:forEach items="${users}" var="user">
<td>${user.userName }</td>
<td>${user.group.name }</td>
<h3>采用forEach标签,varstart(设置斑马背景色)</h3>
<c:when test="${empty users }">
<td colspan="3">没有符合条件的数据</td>
<c:forEach items="${users}" var="user" varStatus="vs">
<c:when test="${vs.count mod 2==0 }">
<td>${user.userName }</td>
<td>${user.group.name }</td>
<h3>采用forEach标签,begin ,end</h3>
<c:when test="${empty users }">
<td colspan="3">没有符合条件的数据</td>
<c:forEach items="${users}" var="user" begin="2" end ="8" step="2">
<td>${user.userName }</td>
<td>${user.group.name }</td>
<li>演示循环控制
标签
:forEach,演示map
</li><br>
<c:forEach items="${map }" var ="entry">
${entry.key },${entry.value }<br>
<li>演示循环控制标签:forTokens</li><br>
<c:forTokens items="${strTokens }" delims="#" var="v">
Integer.parseInt("ferwg");
out.println(e.getMessage());
Integer.parseInt("ferg");
<c:import url="http://localhost:8080/drp4.5/login.jsp"></c:import>
<c:url value="http://localhost:8080/drp4.5/sysmgr/validate.jsp" var="u">
<c:param name="userId" value="zhangsan" />
<c:param name="age" value="20" />
<li>c:redirect标签</li><br>
<c:redirect url="http://localhost:8080/drp4.5/login.jsp" />