Servlet
Servlet: 执行查询
1.jdbc 代码,连接数据库,执行sql,查询结果
2.存入作用域:request.setAttribute("变量名", 查询结果);
3.由servlet跳转至jsp:request.getRequestDispatcher("目标jsp路径").forward(request, response);
jsp: 显示结
<c:if test="条件"></c:if>
<c:forEach items="${变量名}" var="临时变量名"> ${临时变量名} </c:forEach>
接收各种不同表单参数
option 标签不提供value属性, 把标签之间的文本当成value
提供了value属性,以value为准
1.汉字乱码:req.setCharacterEncoding("utf-8");
2.日期类型的接收
String birthday = req.getParameter("birthday");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(birthday);
3.单选按钮
String sex = req.getParameter("sex");
System.out.println(sex);
4.复选框(没有勾选时,是null值)
String[] hobbies = req.getParameterValues("hobby");
if(hobbies != null) {
for (String hobby : hobbies) {
System.out.println(hobby);
}
}
5.下拉列表
String city = req.getParameter("city");
System.out.println(city);
6.文本域
String intro = req.getParameter("intro");
System.out.println(intro);
}
}
jstl 标签
c:choose 类似于 if elseif else
语法格式:
<c:choose>
<c:when test="条件1">内容1</c:when>
<c:when test="条件2">内容2</c:when>
...
<c:when test="条件n">内容n</c:when>
<c:otherwise>以上条件都不成立时</c:otherwise>
</c:choose>
c:out 用来输出特殊内容
对${}输出内容控制,控制是否忽略html代码
<c:out escapeXML="false" value="${作用域变量}"> 不忽略html
<c:out escapeXML="true" value="${作用域变量}"> 忽略html,(当做普通文本)
fmt:formatDate:格式化日期
fmt:formatNumber:格式化数字