JSP基础:六、EL表达式、JSTL标签和乱码解决

本文详细介绍了EL表达式和JSTL标签在JSP开发中的应用,包括EL表达式的语法特点、作用及操作符等,并通过具体示例展示了如何使用EL表达式简化页面逻辑。此外,还介绍了JSTL标签库的功能及其如何实现页面中的逻辑控制。
摘要由CSDN通过智能技术生成
一、复习
二、新内容(EL表达式、JSTL标签)StuPrjEL项目
 1、JSP脚本有什么不足?
      代码结构混乱<% %>
      Java代码和Html代码混合起来容易出错
      代码不易于维护
 2、解决方案:EL表达式 Espression Language
      以${开始,以}结束,中间写EL表达式。
                    语法:${}
 3、EL表达式作用
      页面结构清晰。
      代码可读性高,易于维护。
 4、EL操作符
      点        .      ${对象名.属性名}         获取对象中的属性
      中括号 []      ${集合名[对象名]}         获取集合中的对象
 5、EL使用注意
      类的属性必须实现了getter/setter方法。
      EL表达式寻找对象时候
      顺序为:pageContext--request--session--application
      如果想在某个作用域里去找,前面要指定范围:
      pageScope--->pageContext
      requestScope--->request
      sessionScope--->session
                   applicationScope--->application
 6、代码示例:复制StuPrj项目为StuPrjEL
      --新建testel.jsp讲解EL访问的作用域
  ${requestScope.strs[1]}
      --testel.jsp使用EL表达式获取集合的值
  ${requestScope.strs[1]}
      --EL表达式的运算
  ${1+2}             ${"1"+"2"}EL表达式自动转换
  ${5*(1+2)}        ${"1"}${"2"}
  ${1==2}            逻辑运算,true、false
  ${1>2:"ab":"cd"}  三目运算符
  ${}
      --改造update.jsp页面讲解EL表达式取对象的实例
      --改造stuinfo.jsp时遇到问题,因为有页面循环和判断
 
 7、JSTL(EL表达式无法实现逻辑控制,所以要引入jstl)(注意JSTL的jar包)
      JavaServerPages Standard Tag Library JSP标准标签库
      JSTL作用:实现页面中的逻辑控制(判断、循环)
      核心标签库:http://java.sun.com/jsp/jstl/core     c
      条件标签
  <c:if>
           <c:if test="${age<=18}">
        <h1>此网站未成年人禁止访问!</h1>
          </c:if>
      迭代标签
  <c:forEach>
       <c:forEach items="${stus}" var="stu">
           <span>${stu.sno }----${stu.sname }----${stu.ssex }<br/>
       </c:forEach>
      --代码示例:新建testjstl.jsp
      导入标签库
  <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
      --需求:偶数行变色
 
乱码解决

一 JSP页面乱码:
JSP文件和页面规定的编码保持一致。(用myEclipse开发不会出现这个问题)GET方式传值乱码:
 解决方案:
  //1、解决请求乱码问题、解决响应乱码问题
  request.setCharacterEncoding("utf-8");
  response.setContentType("text/html;charset=utf-8");
  response.setCharacterEncoding("utf-8");

二 设置tomcat的编码方式
利用request.setCharacterEncoding("UTF-8");来设置Tomcat接收请求的编码格式,只对POST方式提交的数据有效,对GET方式提交的数据无效!
要设置GET的编码,可以修改server.xml文件中,相应的端口的Connector的属性:URIEncoding="UTF-8",这样,GET方式提交的数据才会被正确解码。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
 redirectPort="8443" URIEncoding="UTF-8" />
 
三 数据库连接字符串
jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值