天天看點

網頁 EL正規表達式無法解析和http網頁400錯誤

  • 關于EL正規表達式無法解析的問題

<fmt:formatDate value="${user.bir }" pattern=“yyyy-MM-dd”/>

網頁 EL正規表達式無法解析和http網頁400錯誤

檢視了jsp頁面代碼:

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

發現引用已經加了,但在網頁就是無法解析

後來發現

<%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>
                

這段代碼沒加下面這個屬性

isELIgnored="false" //是否忽略正規表達式 true不忽略||false 忽略
                

之後發現 原來是因為建立了maven的原因 是以不識别了。。。

  • http400錯誤問題

再送出修改資料的時候,報了400錯誤

出現HTTP Status 400大多是因為,jsp的form表單送出的字段類型和背景接收字段類型不比對造成的。

檢查代碼發現原來是日期格式解析出了問題

<input type="text" class="inputgri" name="bir"
	 value="<fmt:formatDate value='${user.bir }' pattern='yyyy/MM/dd'/>"/>
                

bir 在背景 我是用對象接收的,bir 是Date類型,但是我設定的顯示格式是用 ‘-’ 隔開的,背景并不能解析

public String update(HttpServletRequest request,
		HttpServletResponse response,User user){
		...
		}
           

兩個解決方案

  1. 第一種
<input type="text" class="inputgri" name="bir"
    value="<fmt:formatDate value='${user.bir }' pattern='yyyy-MM-dd'/>"/>
                

日期格式用橫線隔開