EL和JSTL标记语言简单实例

最近在练习javaweb,把书上的习题拿出来做一做。感觉还是有点收获的。
第一题:用表达式语言测试并显示:
(1)Cookie中的某个值

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String str="12";
Cookie cookie=new Cookie("number",str);
response.addCookie(cookie);
%>
${cookie.number.value }
</body>
</html>

(2)web.xml中的某个参数

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
  <display-name>JspLearning</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
 <context-param>
<param-name>encoding</param-name >
<param-value>Usx</param-value >
</context-param>
</web-app>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
initParam(初始化参数)encoding的值是:${initParam.encoding}
</body>
</html>

(3)page、request、session、application中某个值

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
pageContext.setAttribute("pageMsg","Welcome!");
request.setAttribute("requestMsg","do");
session.setAttribute("sessionMsg","it");
application.setAttribute("applicationMsg", "just");
%>
${pageScope.pageMsg}<br>
${requestScope.requestMsg}<br>
${sessionScope.sessionMsg}<br>
${applicationMsg}<br>
</body>
</html>

第二题,开发图书信息模糊查询界面,输入图书名称的模糊信息,能够显示所有图书的ID、名称和价格。如果图书价格在50元以上,则以黄色字体显示名称。
这题比较麻烦,我在网上找不到sql:query模糊查询的方法,要看Java原始代码的话量又太大,而且我实在不能理解为什么能用JSP不用非要用JSTL,以后如果工作有遇到我再从jstl.jar看起吧。所以我只做了普通查询的代码,这个代码网上有很多。模糊查询用JSP的话只要String query="select * FROM t_book where bookname like '%"+a+"%'";就行了,这里不赘述了。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<!DOCTYPE html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>

<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<% 
    // String name=(String)session.getAttribute("sname"); 
   String bookname=request.getParameter("bookname"); 
   String sname=new String(bookname.getBytes("UTF-8"));
   %>
   <!-- 配置数据源 -->
   <sql:setDataSource driver="com.mysql.jdbc.Driver"
                       url="jdbc:mysql://localhost:3306/web003?useUnicode=true&characterEncoding=utf-8"
                       user="root"
                       password="123456" scope="session"/>
    <sql:query var="result" >
    select BOOKID,BOOKNAME,BOOKPRICE from T_BOOK where BOOKNAME =?
    <sql:param value="<%=sname %>"></sql:param>
    </sql:query>
    
   
    <table bgcolor="grey" border="1">
    <tr>
    <td>BOOKID</td>
    <td>BOOKNAME</td>
    <td>BOOKPRICE</td>
    </tr>
    <c:forEach items="${result.rows}" var="book">
    <c:if test="${book.BOOKPRICE>50}">
    <tr>
    <td>${book.BOOKID}</td>
    <td><font color=yellow>${book.BOOKNAME}</font></td>
    <td>${book.BOOKPRICE}</td>
    </c:if>
    <c:if test="${book.BOOKPRICE<=50}">
    <tr>
    <td>${book.BOOKID}</td>
    <td>${book.BOOKNAME}</td>
    <td>${book.BOOKPRICE}</td>
    </tr>
    </c:if>
    </c:forEach>
    </table>

</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<!DOCTYPE html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>

<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<% 
    // String name=(String)session.getAttribute("sname"); 
   String bookname=request.getParameter("bookname"); 
   String sname=new String(bookname.getBytes("UTF-8"));
   %>
   <!-- 配置数据源 -->
   <sql:setDataSource driver="com.mysql.jdbc.Driver"
                       url="jdbc:mysql://localhost:3306/web003?useUnicode=true&characterEncoding=utf-8"
                       user="root"
                       password="123456" scope="session"/>
    <sql:query var="result" >
    select BOOKID,BOOKNAME,BOOKPRICE from T_BOOK where BOOKNAME =?
    <sql:param value="<%=sname %>"></sql:param>
    </sql:query>
    
   
    <table bgcolor="grey" border="1">
    <tr>
    <td>BOOKID</td>
    <td>BOOKNAME</td>
    <td>BOOKPRICE</td>
    </tr>
    <c:forEach items="${result.rows}" var="book">
    <c:if test="${book.BOOKPRICE>50}">
    <tr>
    <td>${book.BOOKID}</td>
    <td><font color=yellow>${book.BOOKNAME}</font></td>
    <td>${book.BOOKPRICE}</td>
    </c:if>
    <c:if test="${book.BOOKPRICE<=50}">
    <tr>
    <td>${book.BOOKID}</td>
    <td>${book.BOOKNAME}</td>
    <td>${book.BOOKPRICE}</td>
    </tr>
    </c:if>
    </c:forEach>
    </table>

</body>
</html>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

returnadsss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值