学习 Java 时踩过的坑

记录一下我学习 java 的过程中踩过的那些坑

JSTL 标签库

  1. 在 JSP 页面中使用 JSTL 标签得加上

    <%@ page isELIgnored="false" %>
    
  2. 在 JSP 页面中导入 JSTL 标签库时,uri 必须使用含有 jsp 的那些,不然会报错!!!

    正确的:

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
    
    

    下面的会报错:

    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
    <%@ taglib prefix="fn" uri="http://java.sun.com/jstl/functions" %>
    

Json 转换

数组,Array,List 转换成使用 JSONArray.fromObject();Bean,Map 转换成 json 使用 JSONObject.fromObject()

List 转换报错的话,检查 List 是否为空,无误的情况下使用JSONArray.fromObject(list.toArray())

Map转换报错

  • Map 不规范,转换 Json 的 Map 的 Key 必须是 String 类型,不然会报错。

  • Map 里面含有 List,List 里含有 Bean,Bean 里有 Date 字段,且从数据库里读出来时 java.sql.Date 赋值给了 java.util.Date,转化成 JSONArray 时出错;在从数据库读出 Date 时直接写成 new java.util.Date(rs.getDate("date").getTime),避免报错。

Struts2+AJAX 请求失败的问题

使用 Struts2 时,在表单范围使用 AJAX 会百分百失败。使用了表单就不要用AJAX 了,一定要用 AJAX 就得把表单去掉。

Spring MVC 使用 AJAX 问题

Spring 5.x 版与 jackson 2.7/8 版本有冲突,启动 Tomcat 就会报错。

一个在学日本語的前端程序猿