漁人碼頭

          天行健,君子以自強不息。地勢坤,君子以厚德載物。
          posts - 12, comments - 16, trackbacks - 0, articles - 43
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Struts2中的鏈接標簽

          Posted on 2008-05-20 22:58 Fisher 閱讀(1678) 評論(0)  編輯  收藏 所屬分類: 開源組件
          Struts2中的鏈接標簽
          2007年11月29日 星期四 12:56
          為了使從一個頁面中鏈接一個動態數據變得簡單,Struts2框架提供了一系列的標簽。
          Struts2標簽的一種用法是創建鏈接到其他Web資源,特別是針對那些在本地應用中的資源。
          1.普通鏈接
          Web程序中最普通的應用是鏈接到其他頁面,下面看Welcome.jsp。
          <%@ page contentType="text/html; charset=UTF-8" %>
          <%@ taglib prefix="s" uri="/struts-tags" %>
          <html>
          <head>
              <title>Welcome</title>
              <link href="<s:url value="/css/tutorial.css"/>" rel="stylesheet"
                    type="text/css"/>
          </head>
          <body>
          <h3>Commands</h3>
          <ul>
              <li><a href="<s:url action="Login_input"/>">Sign On</a></li>
              <li><a href="<s:url action="Register"/>">Register</a></li>
          </ul>
          </body>
          </html>
          1.1說明
          1<%@ taglib prefix="s" uri="/struts-tags" %>
          此句表示導入struts標簽,并以s為前綴。即以s為前綴的標簽均來自struts標簽庫。
          2<link href="<s:url value="/css/tutorial.css"/>" rel="stylesheet" type="text/css"/>
          此句表示利用url標簽導入一個路徑,鏈接到一個文件,注意此路徑為項目下的絕對路徑。
          3<a href="<s:url action="Login_input"/>">Sign On</a>
          此句表示利用url標簽鏈接到一個action。
          1.2注冊action
          我們在struts.xml中注冊一個action來顯示welcome.jsp。
          <action name="Welcome">
                 <result>/example/Welcome.jsp</result>
          </action>
          注意此action注冊在package example下,所以在地址欄中敲入http://localhost:8080/StrutsHelloWorld/example/Welcome.actionStrutsHelloWorldproject名),會導向到Welcome.jsp。
          2.使用通配符
          對于上面的action注冊,我們也可以用下面的語句代替。
          <action name="*">
                 <result>/example/{1}.jsp</result>
          </action>
          此句的意思是,如果在沒有找到匹配的action名稱的情況下,默認調用action名稱.jsp。第一句中星號指任意,而第二句中{1}指代第一句中星號指代的內容。

              舉個例子,如果在地址欄中敲入
          http://localhost:8080/StrutsHelloWorld/example/1.action,則系統查找struts.xml,發現沒有name1action,即最后調用name為星號的這個action,根據此action,將輸出/example/1.jsp。
          或者讀者可以直接點擊Welcome.jsp中的兩個超鏈接,系統將會報錯找不到Login_input.jspRegister.jsp。因為這兩個action還沒有注冊,也沒有相應的jsp文件。
          3.帶參數的鏈接
          超鏈接后面帶有參數大家不會陌生,諸如http://www.apache.com/?language=ch。這個鏈接后面帶有一個language參數,其值為ch。你可以通過request.getParameter(“language”)找到參數值。下面演示在struts2中如何設置帶參數的鏈接???/span>HelloWorld.jsp
          <%@ taglib prefix="s" uri="/struts-tags"%>
          <html>
          <head>
          <title>Hello World!</title>
          </head>
          <body>
          <h2><s:property value="message" /></h2>
          <h3>Languages</h3>
          <ul>
                 <li>
                 <s:url id="url" action="HelloWorld">
                        <s:param name="request_locale">en</s:param>
                 </s:url>
                 <s:a href="%{url}">English</s:a>
                 </li>
                 <li>
                 <s:url id="url" action="HelloWorld">
                        <s:param name="request_locale">es</s:param>
                 </s:url>
                 <s:a href="%{url}">Espanol</s:a>
                 </li>
          </ul>
          </body>
          </html>

          3.1
          說明
          1<s:url id="url" action="HelloWorld">
                        <s:param name="request_locale">en</s:param>
          </s:url>
          此段表示設置一個url標簽指向名為HelloWorldaction,此標簽帶一個id取名為url,后面會用到。帶一個參數request_locale,其值為en
          2<s:a href="%{url}">English</s:a>
          此句用到了struts2的超鏈接標簽,連接的地址即為1url,點擊English,發出的信息為:http://localhost:8080/StrutsHelloWorld/example/HelloWorld.action?request_locale=en
          3.2注冊actionstruts.xml
          <struts>
                 <package name="example" namespace="/example"
                        extends="struts-default">
                        <action name="HelloWorld" >
                               <result>/example/HelloWorld.jsp</result>
                        </action>

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 凤阳县| 宜兴市| 信丰县| 西峡县| 玛沁县| 炎陵县| 开远市| 东平县| 武安市| 简阳市| 曲阳县| 忻州市| 平遥县| 宜兰县| 平乡县| 英吉沙县| 丽水市| 太原市| 杂多县| 洛川县| 泸州市| 新兴县| 邵阳市| 运城市| 保亭| 镇康县| 来宾市| 土默特右旗| 舒兰市| 谢通门县| 偃师市| 教育| 遂昌县| 南充市| 无极县| 吉林市| 英山县| 新津县| 江口县| 维西| 克东县|