1 那就從簡單的標簽說起吧!1.x中常用的標簽只有4中html、bean、logic、tiles 2 3 而struts2.0里的標簽卻沒有分類,只用在jsp頭文件加上 4 5 6 就能使用struts2.0的標簽庫 7 8 9 下麵就介紹每個標簽的具體應用實例說明:按字母排列 10 11 12 A... ...
1 那就從簡單的標簽說起吧!1.x中常用的標簽只有4中html、bean、logic、tiles 2 3 而struts2.0里的標簽卻沒有分類,只用在jsp頭文件加上 4 5 6 <%@ taglib prefix="s" uri="/struts-tags" %> 就能使用struts2.0的標簽庫 7 8 9 下麵就介紹每個標簽的具體應用實例說明:按字母排列 10 11 12 A: 13 14 1. 15 2. <s:a href=""></s:a>-----超鏈接,類似於html里的<a></a> 16 3. <s:action name=""></s:action>-----執行一個view裡面的一個action 17 4. <s:actionerror/>-----如果action的errors有值那麼顯示出來 18 5. <s:actionmessage/>-----如果action的message有值那麼顯示出來 19 6. <s:append></s:append>-----添加一個值到list,類似於list.add(); 20 7. <s:autocompleter></s:autocompleter>-----自動完成<s:combobox>標簽的內容,這個是ajax 21 22 23 B: 24 25 26 1. <s:bean name=""></s:bean>-----類似於struts1.x中的,JavaBean的值 27 28 29 C: 30 31 32 1. <s:checkbox></s:checkbox>-----覆選框 33 2. <s:checkboxlist list=""></s:checkboxlist>-----多選框 34 3. <s:combobox list=""></s:combobox>-----下拉框 35 4. <s:component></s:component>-----圖像符號 36 37 38 39 40 41 42 D: 43 44 45 1. <s:date/>-----獲取日期格式 46 2. <s:datetimepicker></s:datetimepicker>-----日期輸入框 47 3. <s:debug></s:debug>-----顯示錯誤信息 48 4. <s:div></s:div>-----表示一個塊,類似於html的<div></div> 49 5. <s:doubleselect list="" doubleName="" doubleList=""></s:doubleselect>-----雙下拉框 50 51 52 53 54 55 56 E: 57 58 59 1. <s:if test=""></s:if> 60 2. <s:elseif test=""></s:elseif> 61 3. <s:else></s:else>-----這3個標簽一起使用,表示條件判斷 62 63 64 65 66 67 68 F: 69 70 71 1. <s:fielderror></s:fielderror>-----顯示文件錯誤信息 72 2. <s:file></s:file>-----文件上傳 73 3. <s:form action=""></s:form>-----獲取相應form的值 74 75 76 77 78 79 80 G: 81 82 83 1. <s:generator separator="" val=""></s:generator>----和<s:iterator>標簽一起使用 84 85 86 87 88 89 90 H: 91 92 93 1. <s:head/>-----在<head></head>里使用,表示頭文件結束 94 2. <s:hidden></s:hidden>-----隱藏值 95 96 97 98 99 100 101 I: 102 103 104 1. <s:i18n name=""></s:i18n>-----載入資源包到值堆棧 105 2. <s:include value=""></s:include>-----包含一個輸出,servlet或jsp頁面 106 3. <s:inputtransferselect list=""></s:inputtransferselect>-----獲取form的一個輸入 107 4. <s:iterator></s:iterator>-----用於遍歷集合 108 109 110 111 112 113 114 L: 115 116 117 1. <s:label></s:label>-----只讀的標簽 118 119 120 121 122 123 124 M: 125 126 127 1. <s:merge></s:merge>-----合併遍歷集合出來的值 128 129 130 131 132 133 134 O: 135 136 137 1. <s:optgroup></s:optgroup>-----獲取標簽組 138 2. <s:optiontransferselect doubleList="" list="" doubleName=""></s:optiontransferselect>-----左右選擇框 139 140 141 142 143 144 145 P: 146 147 148 1. <s:param></s:param>-----為其他標簽提供參數 149 struts2的s:param標簽主要有兩個屬性name與value, 若想在value屬性中輸入直接量,則可以這樣寫:<s:param name="some" value="%{'user'}"/>, 也可以這樣寫:<s:paramname="some">user</s:param>。但如果直接賦值,這個值不是由Action動態生成的,而是自己指定的一個字元串,則只能用後者 150 151 152 153 2. <s:password></s:password>-----密碼輸入框 154 3. <s:property/>-----得到'value'的屬性 155 4. <s:push value=""></s:push>-----value的值push到棧中,從而使property標簽的能夠獲取value的屬性 156 157 158 159 160 161 162 R: 163 164 165 1. 166 2. <s:radio list=""></s:radio>-----單選按鈕 167 3. <s:reset></s:reset>-----重置按鈕 168 169 170 171 172 173 174 S: 175 176 177 1. <s:select list=""></s:select>-----單選框 178 2. <s:set name=""></s:set>-----賦予變數一個特定範圍內的值 179 3. <s:sort comparator=""></s:sort>-----通過屬性給list分類 180 4. <s:submit></s:submit>-----提交按鈕 181 5. <s:subset></s:subset>-----為遍歷集合輸出子集 182 183 184 185 186 187 188 T: 189 190 191 1. <s:tabbedPanel id=""></s:tabbedPanel>-----表格框 192 2. <s:table></s:table>-----表格 193 3. <s:text name=""></s:text>-----I18n文本信息 194 4. <s:textarea></s:textarea>-----文本域輸入框 195 5. <s:textfield></s:textfield>-----文本輸入框 196 6. <s:token></s:token>-----攔截器 197 7. <s:tree></s:tree>-----樹 198 8. <s:treenode label=""></s:treenode>-----樹的結構 199 200 201 202 203 204 205 U: 206 207 208 1. <s:updownselect list=""></s:updownselect>-----多選擇框 209 2. <s:url></s:url>-----創建url 210 211 212 213 214 215 216 217 218 219 220 221 222 ___________________________________________________ 223 224 225 226 227 struts2框架的標簽庫分為三類: 228 229 230 用戶標簽:生成HTML元素 231 非用戶標簽:數據訪問、邏輯控制等。 232 AJAX標簽:支持AJAX技術。 233 用戶界面標簽又分兩類: 234 235 236 表單標簽:生成HTML頁面的from元素 237 非表單標簽:生成頁面上的Tab、Tree等 238 非界面標簽又分為數據訪問標簽和流程式控制制標簽。 239 240 241 242 243 244 控制標簽: 245 246 247 if/elseif/else標簽:控制流程分支。 248 iteratot標簽:對集合屬性迭代(屬性類型:List、Map、數組)。 249 append標簽:將多個集合對象拼接在一起,組成一個新的集合。將多個集合使用一個<iterator/>標簽完成迭代。 250 generatot標簽:將指定的字元串按照規定的分隔符分解成多個子字元串。 251 merge標簽:將多個集合拼接在一起。 252 subset標簽:獲取某個集合的子集合。 253 sort標簽:多指定的集合元素進行排序。 254 數據標簽: 255 256 257 action:直接調用一個Action,根據executeResult參數,可以將Action的處理結果包含到頁面中。 258 bean:創建一個JavaBean實例。。 259 date:格式化輸出一個日期屬性。 260 debug:生成一個調試鏈接,當單擊該鏈接時,可以看到當前棧值中的內容。 261 i18n:指定國際化資源文件的baseName。 262 include:包含其他的頁面資源。 263 param:設置參數。 264 property:輸出某個值。可以輸出值棧、StackContext 、ActionContext中的值。 265 push:將某個值放入值棧。 266 set:設置一個新的變數。 267 text:輸出國際化信息。 268 url:生成一個URL地址。 269 表單標簽: 270 271 272 checkbox標簽:覆選框。 273 checkboxlist標簽:根據一個集合屬性創建一系列的覆選框。 274 combobox標簽:生成一個單選文本框和一個下拉列表框的組合。 275 doubleselect標簽:生成一個相互關聯的列表框,該標簽由兩個下拉選擇框組成。 276 datetimepicker標簽:生成一個日期、時間下拉列表框。 277 head標簽:生成HTML頁面的HEAD部分。 278 file標簽:在頁面上生成一個上傳文件元素。 279 hidder標簽:生成一個不看見的用戶輸入元素。 280 select標簽:生成下拉列表框。 281 optiontransferselect標簽:創建兩個選項以及轉移下拉列表項,該標簽生成兩個下拉列表框,同時生成相應的按鈕,這些按鈕可以控制選項在兩個下拉列表之間移動、排序。 282 radio標簽:單選框。 283 optgroup標簽:生成一個下拉列表框的選擇組,下拉列表框中可以包含多個選擇組。 284 token標簽:防用戶多次提交表單。 285 textarea標簽:文本域。 286 updownselct標簽:支持選項內容的上下移動。 287 password表單:密碼表單域。 288 textfield標簽:單行文本輸入框。 289 非表單標簽: 290 291 292 actionerror標簽:輸出Action中getActionErrors()方法返回的異常信息。 293 actionmessage標簽:輸出Action中getActionErrors()方法返回的信息。 294 component標簽:生成一個自定義的組件。 295 div標簽:AJAX標簽,生成一個div片段。 296 fielderror標簽:輸出異常提示信息。 297 tabbedPanel:AJAX標簽,生成HTML中的Tab頁。 298 tree標簽:生成一個樹形結構。 299 treenode標簽:生成樹形結構的節點。 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 ____________________________________________________ 319 Struts之LOGIC標簽庫詳解 320 321 322 323 324 1. logic:empty 325 該標簽是用來判斷是否為空的。如果為空,該標簽體中嵌入的內容就會被處理。該標簽用於以下情況: 326 1)當Java對象為null時; 327 2)當String對象為""時; 328 3)當java.util.Collection對象中的isEmpty()返回true時; 329 4)當java.util.Map對象中的isEmpty()返回true時。 330 eg. 331 332 333 該句等同於: 334 if (userList.isEmpty()) { 335 ... 336 } 337 338 339 2. logic:notEmpty 340 該標簽的應用正好和logic:empty標簽相反。 341 342 343 3. logic:equal 344 該標簽為等於比較符。 345 eg1. 比較用戶的狀態屬性是否1,若為1,輸出"啟用"; 346 eg2. 如果上例中的value值是動態獲得的,例如需要通過bean:write輸出,因struts不支持標簽嵌套,可採用EL來解決該問題。 347 348 349 4. logic:notEqual 350 該標簽意義與logic:equal相反,使用方法類似,略。 351 352 353 5. logic:forward 354 該標簽用於實現頁面導向,查找配置文件的全局forward。struts-config.xml文件中全局轉向 355 eg. <logic:forward name="redirect"/> 356 357 358 6. logic:greaterEqual 359 為大於等於比較符。 360 eg. 當某學生的成績大於等於60時,輸出“及格”: 361 <logic:greaterEqual name="student" property="scores" value="60"> 362 及格 363 </logic:greaterEqual> 364 7. logic:greaterThan 365 此為大於比較符,使用方法同logic:greaterEqual; 366 8. logic:lessEqual 367 此為小於等於比較符,使用方法同logic:greaterEqual; 368 9. logic:lessThan 369 此為小於比較符,使用方法同logic:greaterEqual; 370 10. logic:match 371 此標簽比較對象是否相等; 372 eg1. 檢查在request範圍內的name屬性是否包含"hello"串: 373 <logic:match name="name" scope="request" value="hello"> 374 <bean:write name="name"/>中有一個“hello”串。 375 </logic:match> 376 eg2. 檢查在request範圍內的name屬性是否已“hello”作為起始字元串: 377 <logic:match name="name" scope="request" value="hello" location="start"> 378 <bean:write name="name"/>以“hello”作為起始字元串。 379 </logic:match> 380 eg3. 381 <logic:match header="user-agent" value="Windows"> 382 你運行的是Windows系統 383 </logic:match> 384 11. logic:notMatch 385 此標簽用於比較對象是否不相同,與logic:match意義相反,使用方法類似 386 387 388 12. logic:messagePresent 389 該標簽用於判斷ActionMessages/ActionErrors對象是否存在; 390 eg. 如果存在error信息,將其全部輸出: 391 <logic:messagePresent property="error"> 392 <html:messages property="error" id="err" > 393 <bean:write name="err"/> 394 </html:messages> 395 </logic:messagePresent > 396 13. logic:messagesNotPresent 397 該標簽用於判斷ActionMessages/ActionErrors對象是否不存在,使用方法與logic:messagePresent類似 398 14. logic:present 399 此標簽用於判斷request對象傳遞參數是否存在。 400 eg1. user對象和它的name屬性在request中都存在時,輸出相應字元串: 401 <logic:present name="user" property="name"> 402 user對象和該對象的name屬性都存在 403 </logic:present> 404 eg2. 若有一個名字為“hello”的JavaBean,輸出對應字元串: 405 <logic:present name="hello" > 406 有一個名字為“hello”的JavaBean。 407 </logic:present> 408 eg3. 409 <logic:present header="user-agent"> 410 we got a user-agent header. 411 </logic:present> 412 15. logic:notPresent 413 此標簽用於判斷request對象傳遞參數是否不存在,意義與了logic:present相反,使用方法類似。 414 16. logic:iterator 415 用於顯示列表為collection的值(List ,ArrayList,HashMap等)。 416 eg1. 逐一輸出用戶列表(empList)中用戶的姓名: 417 <logic:iterate id="emp" name="empList"> 418 <bean:write name="emp" property="name"/><br> 419 </logic:iterate> 420 eg2. 從用戶列表中輸出從1開始的兩個用戶的姓名 421 <logic:iterate id="emp" name="empList" indexId="index" offset="1" length="2"> 422 <bean:write name="index"/>.<bean:write name="emp" property="name"/><br> 423 </logic:iterate> 424 eg3. logic:iterator標簽的嵌套舉例 425 <logic:iterate id="emp" indexId="index" name="empList"> 426 <bean:write name="index"/>. <bean:write name="emp" property="name"/><br> 427 <logic:iterate id="address" name="emp" property="addressList" length="3" offset="1"> 428 <bean:write name="address"/><br> 429 </logic:iterate> 430 </logic:iterate> 431 17. logic:redirect 432 該標簽用於實現頁面轉向,可傳遞參數。 433 eg. <logic:redirect href="http://www.javaeye.com"/> 434 435 436 437 438 439 440 logic:iterate 441 logic:iterate標簽用來迭代集合,您可以使用如下方式來為這個標簽指定其要疊代的集合: 442 443 444 使用一個運行時表達式,這個表達式的值是一個集合。 445 用name屬性引用一個JSP Bean,這個JSP Bean本身就是一個集合。 446 用name屬性引用一個JSP Bean,這個JSP Bean的一個屬性是一個集合,這時可以聯合使用property來指定這個集合。 447 上面所提到的集合可以是: 448 449 450 對象類型或原子類型的數組(Array)。 451 java.util.Collection的實現,包括ArrayList,Vector。 452 java.util.Enumeration的實現。 453 java.util.Iterator的實現。 454 java.util.Map的實現,包括HashMap,Hashtable和TreeMap。 455 如果您疊代的集合中含有null的值,這時需要採取一定的措施,因為這時logic:iterate不會在page作用域中創建對象。一般是使用<logic:present>標簽或<logic:notPresent>標簽來判斷一下。 456 457 458 下麵是logic:iterate疊代ArrayList的示例的對象引用關係和部分代碼: 459 460 461 462 463 圖示 3. logic:iterate中對象的引用關係 464 465 466 467 468 469 470 圖中的persons列表是在ListAction中填充的,在這裡只是簡單的加入了三個Person對象,在實際的應用中這些數據應該取自資料庫。具體的代碼如下: 471 472 473 public ActionForward execute(ActionMapping mapping,ActionForm. form, 474 HttpServletRequest request, HttpServletResponse response) { 475 476 477 ListForm. listForm. = (ListForm) form; 478 479 List<Person> persons = new ArrayList<Person>(); 480 481 Person person1 = new Person(); 482 person1.setId("00001"); 483 person1.setName("趙辰"); 484 485 Person person2 = new Person(); 486 person2.setId("00002"); 487 person2.setName("李為芳"); 488 489 Person person3 = new Person(); 490 person3.setId("00003"); 491 person3.setName("王微"); 492 493 persons.add(person1); 494 persons.add(person2); 495 persons.add(person3); 496 497 listForm.setPersons(persons); 498 499 return mapping.findForward("success"); 500 } 501 502 503 標簽輸出的結果為: 504 505 506 00001-->趙辰 507 00002-->李為芳 508 00003-->王微 509 510 511 回頁首 512 logic:present 513 如果指定的值出現該標簽就會創建其標簽體內的內容。該標簽用於以下情況: 514 515 516 檢查具有指定名稱的cookie是否出現。 517 檢查具有指定名稱的header是否出現。 518 檢查具有指定名稱的JSP Bean是否出現 或 檢查具有指定名稱的JSP Bean中的property屬性是否出現。 519 檢查request中指定名稱的參數是否出現。 520 檢查當前的認證用戶是否與指定的安全形色相關聯。 521 檢查當前認證的主體是否具有指定的名字。 522 下麵的代碼示例了logic:present標簽檢查具有指定名稱User-Agent的header是否出現: 523 524 525 <logic:present header="User-Agent"> 526 您的瀏覽器是<bean:header id="userAgent" name="User-Agent"/> 527 <bean:write name="userAgent"/>。<br/> 528 </logic:present> 529 530 531 logic:notPresent標簽的應用正好和logic:present標簽相反。 532 533 534 回頁首 535 logic:messagesPresent 536 logic:messagesPresent標簽用於以下情況: 537 538 539 在request作用域中存在一個ActionMessages對象,標簽的property屬性和ActionMessages中的property對應。 540 在request作用域中存在一個ActionErrors對象,標簽的property屬性和ActionErrors中的property對應。 541 存在一個String對象,將其轉換(構造)成ActionMessage然後在添加到ActionMessages中。 542 存在一個String Array對象,將數組中的每一個String轉換成一個ActionMessage,在將其添加到ActionMessages中。 543 標簽的message屬性值為true時將以Globals.MESSAGE_KEY為key在request作用域中查找Message,其它情況下,將name的值作為key查找,如果name 沒有出現,預設值為Globals.ERROR_KEY。 544 545 546 下麵的代碼示例了logic:messagesPresent標簽的典型用法: 547 548 549 <logic:messagesPresent> 550 <ul> 551 <html:messages id="message"> 552 <li><bean:write name="message"/></li> 553 </html:messages> 554 </ul> 555 </logic:messagesPresent> 556 557 558 標簽logic:messagesNotPresent的應用正好和logic:messagesPresent的應用相反。 559 560 561 回頁首 562 logic:empty 563 logic:empty標簽是用來判斷是否為空的。如果為空,該標簽體中嵌入的內容就會被處理。該標簽用於以下情況: 564 565 566 當Java對象為null時 567 當String對象為""時 568 當java.util.Collection對象中的isEmpty()返回true時 569 當java.util.Map對象中的isEmpty()返回true時 570 下麵的代碼示例了logic:empty標簽判斷集合persons是否為空: 571 572 573 <logic:empty name="listForm" property = "persons"> 574 <div>集合persons為空!</div> 575 </logic:empty> 576 577 578 logic:notEmpty標簽的應用正好和logic:empty標簽相反。 579 580 581 回頁首 582 logic:match 583 logic:match標簽用來處理子串匹配問題。 584 585 586 如果指定的值匹配該標簽就會創建其標簽體內的內容。該標簽用於以下情況: 587 588 589 檢查具有指定名稱的cookie是否與該標簽的value匹配。 590 檢查具有指定名稱的header是否與該標簽的value匹配。 591 檢查具有指定名稱的JSP Bean是否與該標簽的value匹配 或 檢查具有指定名稱的JSP Bean中的property屬性值是否與該標簽的value匹配。 592 檢查request中指定名稱的參數值是否與該標簽的value匹配。 593 594 595 下麵的代碼示例了logic:match標簽的典型用法: 596 597 598 <logic:present header="User-Agent"> 599 <logic:match header="User-Agent" value="MSIE 6.0"> 600 MS IE 6.0 601 </logic:match> 602 </logic:present> 603 604 605 logic:notMatch標簽的應用正好和logic:match標簽相反。 606 607 608 回頁首 609 logic:equal 610 這裡要介紹的不只是logic:equal(=)標簽,而是要介紹一類標簽,這類標簽完成比較運算,包括: 611 612 613 logic:equal(=) 614 logic:notEqual(!=) 615 logic:greaterEqual(>=) 616 logic:lessEqual(<=) 617 logic:graterThan(>) 618 logic:lessThan(<) 619 該類標簽的用法類似,我們只介紹logic:equal標簽,其它的留給您自己去完成。 620 621 622 logic:equal是用來判斷是否相等的。如果相等,該標簽體中嵌入的內容就會被處理。該標簽用於以下情況: 623 624 625 比較由該標簽的cookie屬性指定的cookie的值是否與該標簽的value屬性值相等。 626 比較由該標簽的header屬性指定的header的值是否與該標簽的value屬性值相等。 627 比較由該標簽的name屬性指定的JSP Bean是否與該標簽的value屬性值相等(property屬性不出現)或比較由該標簽的name屬性指定的JSP Bean中的property屬性值是否與該標簽的value屬性值相等。 628 比較由該標簽的parameter屬性指定的參數值(request中)是否與該標簽的value屬性值相等。 629 回頁首 630 logic:forward 631 我覺得將forward和redirect這兩個動作放到一起對比著介紹更加有利於理解,基於此原因也就將logic:forward和logic:redirect這兩個標簽也拿到這裡一起介紹了。 632 633 634 讓我們看看這兩個動作的區別: 635 636 637 forward是在servlet內部執行,瀏覽器完全不會感知到這個動作,原始的url也不會改變,瀏覽器重新裝載的話也只是對原始的請求進行簡單的重覆。 638 redirect則分成兩個步驟:第一步是web應用程式告訴瀏覽器第二個url,然後瀏覽器向第二個url發送請求。 639 640 641 redirect比forward慢,因為瀏覽器要做二次請求。還有就是要註意,在第一次的請求作用域(request作用域)內的bean對於第二次請求是不可見的。 642 643 644 理解了上面描述的區別也就知道了什麼時候該選用logic:forward標簽什麼時候該選用logic:redirect標簽了。logic:forward標簽完成PageContext.forward()或HttpServletResponse.sendRedirect(),如何選擇由控制器決定。logic:redirect標簽完成HttpServletResponse.sendRedirect()。 645 646 647 在使用logic:redirect標簽時我們可以向使用html:link一樣構造baseurl和query參數。如果您感興趣可以參考html:link標簽。 648 649 650 651 652 653 654 <s:action>標簽的用法 655 (2012-09-27 18:04:34) 656 轉載▼ 657 標簽: 658 <saction> 659 struts2 660 雜談 661 分類: struts2 662 使用action標簽,可以允許在jsp頁面中直接調用Action,在調用Action時候,可以指定需要被調用的Action的name和namespace.如果指定了executeResult參數的屬性值為true,該標簽會把Action的處理結果(視圖資源)包含到本頁面中. 使用action標簽指定屬性有: 663 664 665 id: 可選屬性,作為該Action的引用ID 666 667 name:必選屬性,指定調用Action 668 669 namespace:可選屬性,指定該標簽調用Action所屬namespace 670 671 executeResult:可選屬性,指定是否將Action的處理結果包含到本頁面中.預設值為false,不包含. 672 673 ignoreContextParam:可選參數,指定該頁面的請求參數是否需要傳入調用的Action中,預設值是false,即傳入參數. 674 675 676 <s:action name="login" executeResult="true" namespace="/"></s:action> 677 678 679 傳遞參數 680 681 682 <s:action name="actinName" executeResult="true" namespace="/"> 683 <s:param name="currentPage" value="傳遞的值"></s:param> 684 </s:action> 685 686 687 <s:param ></s:param>是以request方式的值的,而不是以參數傳值 688 689 690 所以request.getParameter("")會獲取不到值 691 692 693 通過request.getAttribute("")方式可以獲取 694 695 696 另外:使用<s:param ></s:param> value指代的是action定義的對象的名稱,而不是一個值 697 698 699 和 <s:textfield>中的name是一個意思,所以要要傳遞字元串的不能把值寫value中而應該寫到 700 701 702 <s:param >寫到這裡</s:param> 703 例如: 704 struts.xml如下配置 705 <package name="reportList" namespace="/reportList" extends="default"> 706 <action name="tab_*" action="xxxx" method="{1}" 707 <result></result> 708 </action> 709 </package> 710 頁面載入如下段 711 <s:action na 712 me="tab_gotoHeader" namespace="/reportList" executeResult="true"> 713 <s:param name="headerMap" value="headerMap"></s:param> 714 <s:param name="scopeId" value="1"></s:param> 715 <s:param name="reportRemark" value="indicator.concept"></s:param> 716 <s:param name="headerMap['lbName']" value="indicator.description"></s:param> 717 </s:action> 718 xxx.action中只要set,get headerMap,scopeId就可以拿到值了
2017-08-0815:19:01摘自http://blog.csdn.net/ye1992/article/details/8333616