麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JSP > 正文

淺談jsp的C標簽一般使用方法以及js接收servlet中的對象及對象數組

2024-09-05 00:23:22
字體:
來源:轉載
供稿:網友

由于現流行的javaWeb框架提倡前后端分離,比如在SpringMvc中已經很少寫servlet的一些東西;目前 前端jsp中大多是一些純html和js,很少用到jstl的一堆東西,后端也僅僅處理一些前端的post、get請求或頁面跳轉,無須以往繁瑣的xml路徑映射和filter過濾。

不過有時也會用到servlet作用域中的一些東西,比如某個固定的值、上下文路徑等等~,不過這些東西大多數也僅限于取值而不是設置值(或對象),所以sun給了一個非常簡潔的取值方式:C標簽!

下面將簡述下C標簽的一些使用方法,主要是我個人從事javaWeb開放所涉及到的內容,不做多的擴展(???)=>

在使用之前,頁面命名空間需要先聲明C標簽和jsp的基本聲明 ,這是最基本的,順便說下:如果引用到jar包,也是在這里聲明的,如下==>

jsp,c標簽

當后端傳給頁面一個單獨的值的時候用${鍵}即可獲取傳入的值(在這里是stockPrice這個Float值),這個鍵可以是java任何類型(比如常用的List、map、String、Date、Object...等等)=>

jsp,c標簽  

jsp,c標簽

jsp,c標簽

以上只是單值,如果是對象類型或者Map類型,就需要打點訪問值了,例如后臺是這樣子的:

jsp,c標簽

jsp中在取值的時候就像js中取對象中的值一樣,就像這樣==>

jsp,c標簽jsp,c標簽

stockPrice2中的值是個List的時候同js中list值訪問一樣,用中括號=>

jsp,c標簽

jsp,c標簽

jsp,c標簽

以上取值的方式有仨:[數組下標]、["數組下標"]、.get(下標),需要說明的是下標是不能用單引號引起來的,在一就是取的數組長度如果是動態長度的,上面的這些方式就需要加一層判斷,but~這樣的方式十分之不可取,這時候就需要用到 forEach=>

jsp,c標簽

jsp,c標簽

jsp,c標簽

使用forEach的時候需要用到forEach標簽,即使數組為空也無需要判斷空值,需要說明的是遍歷的對象放在items中,每個對象中的每個子對象用var中的值代替子對象的整個對象,后面的varStatus這個變量是存的每個變量的狀態,一般也會使用到就是對象所在的下標(需要用index這個變量名稱,并且這個變量名稱是固定的,無須在后端定義),如果需要過濾對象中的某個值,就需要用到if標簽了,這個標簽可以嵌套在循環里面使用也可以單獨使用~=>

jsp,c標簽jsp,c標簽

嗯~,需要條件判斷的時候就需要會用到if~else~這樣的條件判斷,在C標簽中,這個判斷需要寫在choose標簽中,可能比較麻煩,這里只給出代碼樣例=>

<select class="btn col-sm-12"style="font-weight:bold;color:black;pointer-events: stroke;opacity: initial;">          <c:if test="${empty main.scoreC}"><option value="">(空)</option></c:if>          <c:forEach items="${scores}" var="score" >            <c:choose>                <c:when test="${main.scoreC eq score}">                  <option value="${score}" selected="selected">${score}</option>                </c:when>                <c:otherwise>                    <option value="${score}">${score}</option>                </c:otherwise>              </c:choose>          </c:forEach>  </select>

如上圖,判斷每個條件需要寫在c:when標簽中(可以有多個此標簽),如果條件都不滿足,則會顯示c:otherwise標簽中的內容,樣例效果自行測試,這里就不啰嗦啦(o^.^o)~

啊哈~,以上是C標簽常用的一些懂西,哦~ 不好意思,漏了一個(*^▽^*),這個比較特殊:多數人在使用判斷的時候會用到條件是否為空,是否等于某個值:

對于前者,條件一般是這樣寫=>${empty 變量名},這個empty在jsp中是關鍵字,變量名稱一定要避開啊~w(?Д?)w

對于后者,寫法一般有兩種=>${變量名A eq 變量名B} 或者 ${變量名A == 變量名B},后者一般做數字或基本類型的判斷,前者一般做對象判斷;別忘了,這個“eq”也是關鍵字o哦~

最后,這次當然是最最后哈( ̄▽ ̄)/,放一個大招,也是我研究了好一會憋出來的;當然,不是惡心便便( ´´?∀´?` )。。。,先說下摘要吧:一般jsp處理不了的邏輯或者比較麻煩的邏輯需要將servlet作用域中的(List或Map) 放在js中處理,這時就可能面臨一個問題,就是你怎么能將整個對象放到js變量里面呢,在這里可以很自信的Answer你:用fastJson轉字符串啊~ㄟ(??? )ㄏ,是不是豁然開朗,哈哈,先拋個磚=>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="/WEB-INF/tlds/hs.tld" prefix="hs"%><%@ page import="com.alibaba.fastjson.JSON" %>
<script type="text/javascript"><%  Object ob=request.getAttribute("bonusMatrix");  %>//初始化數據  var bonusMatrixs=[];function init(data){  bonusMatrixs=data;}init(<%out.println(JSON.toJSONString(ob));%>);</script>

并且~,不需要做json字符串到js對象的轉換就可以直接使用~,有沒有很方便的說└(^o^)┘

jsp,c標簽

啊~,哇哦~已經這個點兒了,要睡覺啦~

jsp,c標簽

以上這篇淺談jsp的C標簽一般使用方法以及js接收servlet中的對象及對象數組就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级做人爱c黑人影片 | 伊人一二三四区 | 视频一区二区三区在线播放 | 91一区二区三区久久久久国产乱 | 成人在线视频播放 | 日本在线高清 | 国产九色视频在线观看 | 免费观看黄色一级视频 | 91九色精品国产 | 日韩毛片网 | av播播| 久草资源在线观看 | 久久综合艹 | 操碰97| 成人午夜在线免费观看 | 欧美视频在线一区二区三区 | 国产免费乱淫av | 久久久久99一区二区三区 | 国产精品视频在 | 亚洲精品一区中文字幕 | 精品中文视频 | av中文一区 | 国产一区二区三区视频在线观看 | 久精品国产 | 久久久久久久一区二区 | 精品国产一区二区三区四区阿崩 | 精精国产xxxx视频在线野外 | freexxxhd喷水 | 毛片在线免费播放 | 中文字幕免费在线观看视频 | 日本综合久久 | 久久亚洲线观看视频 | 成人在线视频网 | 亚洲特黄 | 免费久久久 | 久久国产亚洲精品 | 午夜精品在线视频 | 欧美特黄一级高清免费的香蕉 | 国产成年人在线观看 | 色屁屁xxxxⅹ免费视频 | 国产午夜电影 |