banxitan

          統(tǒng)計(jì)

          留言簿(2)

          閱讀排行榜

          評(píng)論排行榜

          Struts2 之 CheckBox 小記

          今天在項(xiàng)目中有用到 Struts2 的Checkbox,其中最重要的屬性為 Value跟fieldValue
           EG:
              <td>
                  <s:checkbox id="hotel.hotelRoom.vCR" name="hotel.hotelRoom.vCR" value="%{hotel.hotelRoom.vCR.equals('false')?'false':'true'}" fieldValue="VCR" />
                  VCR
                 </td>

          當(dāng)在屬性中用到fileValue屬性,當(dāng)該Checkbox項(xiàng)被選中時(shí),那么在 Action中取值即為FiledValue所對(duì)應(yīng)的值,當(dāng)未被選中時(shí),會(huì)有一個(gè)默認(rèn)的值false;

          value="%{hotel.hotelRoom.vCR.equals('false')?'false':'true'}"  當(dāng)用戶提交選中的項(xiàng)后回到Input頁(yè)面,仍然能正確顯示用戶剛才所選中的項(xiàng):

          附:(轉(zhuǎn)載)

          #、%和$符號(hào)在OGNL表達(dá)式中經(jīng)常出現(xiàn),而這三種符號(hào)也是開(kāi)發(fā)者不容易掌握和理解的部分。在這里筆者簡(jiǎn)單介紹它們的相應(yīng)用途。
          1.#符號(hào)的用途一般有三種。

             1)訪問(wèn)非根對(duì)象屬性,例如示例中的#session.msg表達(dá)式,由于Struts 2中值棧被視為根對(duì)象,所以訪問(wèn)其他非根對(duì)象時(shí),需要加#前綴。

          實(shí)際上,#相當(dāng)于ActionContext. getContext();#session.msg表達(dá)式相當(dāng)于ActionContext.getContext().getSession(). getAttribute

          ("msg") 。

              2)用于過(guò)濾和投影(projecting)集合,如示例中的persons.{?#this.age>20}。

              3)用來(lái)構(gòu)造Map,例如示例中的#{'foo1':'bar1','foo2':'bar2'}。

          2.%符號(hào)

          %符號(hào)的用途是在標(biāo)志的屬性為字符串類型時(shí),計(jì)算OGNL表達(dá)式的值。如下面的代碼所示:
          構(gòu)造Map
          <s:set name="foobar" value="#{'foo1':'bar1', 'foo2':'bar2'}" />

          <p>The value of key "foo1" is <s:property value="#foobar['foo1']" /></p>

          <p>不使用%:<s:url value="#foobar['foo1']" /></p>

          <p>使用%:<s:url value="%{#foobar['foo1']}" /></p>

           
          3.$符號(hào)

          $符號(hào)主要有兩個(gè)方面的用途。

             在國(guó)際化資源文件中,引用OGNL表達(dá)式,例如國(guó)際化資源文件中的代碼:reg.agerange=國(guó)際化資源信息:年齡必須在${min}同${max}之間

              在Struts 2框架的配置文件中引用OGNL表達(dá)式,例如下面的代碼片斷所示:

          <validators>

              <field name="intb">

                      <field-validator type="int">

                      <param name="min">10</param>

                      <param name="max">100</param>

                      <message>BAction-test校驗(yàn):數(shù)字必須為${min}為${max}之間!</message>

                  </field-validator>

              </field>

          </validators>

          posted on 2009-04-13 15:58 MikyTan 閱讀(1422) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA

          主站蜘蛛池模板: 宜昌市| 祁阳县| 五大连池市| 依兰县| 岳普湖县| 保亭| 罗源县| 甘孜县| 大荔县| 锡林浩特市| 夹江县| 和硕县| 镇巴县| 彰化市| 邯郸市| 虎林市| 池州市| 江源县| 临洮县| 合山市| 辽阳市| 新竹市| 湘潭市| 积石山| 灵璧县| 博乐市| 安庆市| 志丹县| 卢龙县| 衡南县| 德钦县| 大兴区| 宁陵县| 纳雍县| 沈阳市| 和林格尔县| 太康县| 上杭县| 舞钢市| 垦利县| 调兵山市|