1. 程式人生 > >JSTL中var和target 標籤的用法

JSTL中var和target 標籤的用法

 <c:set>標籤有兩種不同的屬性設定:var和target。

var“版本”用於設定作用域屬性,target“版本”用於設定bean屬性或Map值。

這兩個版本都有兩種形式:有標籤體和沒有標籤體。有標籤體的只是放入值的另一種途徑。

★ var“版本”

   1. <c:set var="userLevel" scope="session" value="Cowboy"/>  
   2.   
   3. <c:set var="fido" value="${person.dog}"/>  
   4.   
   5. <c:set var="user" scope="session">  
   6.    Sheriff, Bartender, Cowgirl   
   7. </c:set>  

如果“value”為null,“var”指定的屬性將被刪除!

如果“var”指定的屬性不存在,則會建立一個屬性,但僅當“value”不為null時才會建立新屬性。

★ target“版本”

   1. <c:set target="${petMap}" property="dogName" value="Clover" scope="session"/>  
   2.   
   3. <c:set target="${person}" property="name">  
   4.    ${foo.name}   
   5. </c:set>  

如果“target”是一個Map,“property”指定的是該Map的一個鍵;如果“target”是一個bean,“property”指定的是該bean的一個成員欄位。

如果“target”表示式為null,容器會丟擲一個異常。

如果“target”表示式不是一個Map或bean,容器會丟擲一個異常。

如果“target”表示式是一個bean,但是這個bean沒有與“property”匹配的成員欄位,容器會丟擲一個異常。