自定義JSTL標籤
-
創建一個類,從SimpleTagSupport繼承
-
通過繼承可以獲得當前JSP頁面上的對象,如JspContext
-
實際上可以強轉爲PageContext
-
通過PageContext可以拿到HttpServletRequest等對象
-
通過JspContext可以獲取輸出流,向頁面上輸出內容(文字、HTML標籤等)
-
重寫void doTag()方法,實現標籤的內部邏輯
-
在tld(標籤庫描述文件)文件中添加<tag>標籤
-
如果tld還沒有,則從JSTL官方jar包中找到c.tld,複製出來
-
<tag>標籤中通過<attribute>標籤可以指定標籤的屬性
-
標籤的屬性實際上就是標籤類的屬性,需要在標籤類中定義同名屬性並封裝getter、setter
-
SimpleTagSupport支持從標籤中間提取內容,支持四種選項
-
JSP:表示標籤內部可以放其他標籤、el、代碼塊
-
Scriptless:表示標籤中可以方文本和html等靜態內容
-
empty:表示標籤中沒有內容
-
tagdependent:表示標籤中的內容由標籤自己決定
-
tld 需要在web.xml中通過<jsp-config><tablib>標籤中聲明一下
-
如果打成jar包,放在META-INF中可以被服務器掃描到
SpringMVC 標籤的屬性中套JSTL標籤報錯的解決方法
-
<form:form action="<c:;url valure="/user/list"/>"></form:form>
-
會報錯,找不到form:form 結束標籤
-
實際上是是不能再屬性中嵌套JSTL
-
解決方法:改用EL表達式寫絕對地址
-
<form:form action="${pageContext.request.contextPath}/user/list">
BootStrap在一行中放置多個內容的方法
` <div class="row">:用來抵消兩端的15px內邊距
<div class="col-sm-8">
<div class="col-sm-4">
連接爲空字符串的作用
-
<a href="">:刷新本頁
-
<form action="">:提交到本頁
-
<a href="../">:注意這是相對路徑,../會向上提一級目錄
JQuery中3中給標籤填內容的方法
-
<input>中的值:$('input').val('填充到表單控件中的值')
-
普通標籤的文本內容:$('p').text('填充的文本內容,html無效')
-
普通標籤的HTML內容:$('div').html('<標籤>')
用JS控制表單提交
-
$('form').submit():用JQuery找到表單,然後調submit()方法
-
在表單內部的表單控件上通過事件調用submit()方法
<form>
<delect onchange="submit()">:onchange:下拉列表項改變的事件
3鐘模型
-
數據模型:與數據庫中的表一一對應,通常定義在底層(數據層)
-
視圖模型:只在視圖層使用,與數據庫無關
-
業務模型:它是中間計算使用的模型,或者與第三方交互時使用的模型
-
比如支付時的支付寶或微信訂單模型