JSP标准标记库JSTL全称为java ServerPages Standard Tag Library
JSTL是一个已经被标准化的标记库集合,其开发API可以在www.jcp.org下载,
JSTL库有如下:
1、Core核心库(支持输出、设置、迭代、条件)可以在 http://www.sun.com/jstl/core下载
2、XML处理库、 http://www.sun.com/jstl/xml
3、页面的国际化库 http://www.sun.com/jstl/fmt
4、SQL数据库处理库 http://www.sun.com/jstl/sql
如果要在项目中使用JSTL库,就要在项目的库路径中添加JSTL库的路径(项目--》属性)
在面板中,在JSP中,有相应的标签。
JSTL开发实例--使用JSTL实现登录模块
同理,新建一个web应用程序,名:Login_Tag,将JSP_Login项目的web目录下的四个jsp文件以及image子目录复制进去,把logincheck.jsp文件的内容修改为:
<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="password" value="${param.password}"/>
<c:set var ="username" value="${param.username}"/>
<c:set var="u" value="admin"/>
<c:set var="p" value="admin"/>
<c:set var="loginsuccess" value="false"/>
<sql:setDataSource
var="mytest"
driver="org.apache.debry.jdbc.ClientDriver"
url="jdbc:debry://localhost:1527/MyTest"
user="${u}"
password="${p}"
/>
<sql:query var="loin" datasource="${mytest}">
SELECT "Password" FROM USERS
WHERE "Username"=<c:out value="$'{username}'" escapeXml="false"/>
</sql:query>
<c:forEach var="row" item="${login.rows}">
<c:if test="${row.PASSWORD==password}">
</c:if>
</c:forEach>
<c:choose>
<c:when test="${loginsuccess==true}">
<c:set value="${username}" var="username" scope="session"/>
<c:redirect url="welcome.jsp"/>
</c:when>
<c:otherwise>
<c:redirect url="error.jsp">
</c:otherwise>
</c:choose>
</sql:>