<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Studying Java......

    統計

    留言簿(1)

    積分與排名

    JavaServerFaces

    Mail Link

    Open Source

    友情鏈接

    收藏的鏈接

    閱讀排行榜

    評論排行榜

    利用函數computeURL( )實現同一FORM的多動作提交

           在實際處理的頁面中,往往在一個頁面中有多個觸發的動作,而Struts的ActionForm中只能指定一個Action,是一種粗粒度的實現(JSF中有更好的解決方案),computeURL( )可以提供一種變通的解決方法.
           computeURL( )是在org.apache.struts.util.RequestUtils(Struts Ver1.1)與org.apache.struts.taglib.TagUtils(Struts Ver1.2)類中的一個函數,用來解析基于Forward,Action,鏈接,頁面參數的URL可以用來動態改變頁面中Form對應的Action.Ver1.1中有以下兩種:
    1.computeURL(javax.servlet.jsp.PageContext pageContext, java.lang.String forward, java.lang.String href, java.lang.String page, java.util.Map params, java.lang.String anchor, boolean redirect)
    2.computeURL(javax.servlet.jsp.PageContext pageContext, java.lang.String forward, java.lang.String href, java.lang.String page, java.lang.String action, java.util.Map params, java.lang.String anchor, boolean redirect)
    其中第一個是  Deprecated.第二個在新版本中得以保留,另外還提供了另外一種重載:
    computeURL(javax.servlet.jsp.PageContext pageContext, java.lang.String forward, java.lang.String href, java.lang.String page, java.lang.String action, java.lang.String module, java.util.Map params, java.lang.String anchor, boolean redirect, boolean encodeSeparator) 
    參數說明如下:
    Parameters:
    pageContext - PageContext for the tag making this call
    forward - Logical forward name for which to look up the context-relative URI (if specified)
    href - URL to be utilized unmodified (if specified)
    page - Module-relative page for which a URL should be created (if specified)
    action - Logical action name for which to look up the context-relative URI (if specified)
    params - Map of parameters to be dynamically included (if any)
    anchor - Anchor to be dynamically included (if any)
    redirect - Is this URL for a response.sendRedirect(

    下面介紹一下詳細的使用方法:
    1.在JSP頁面中導入對應的包:
    <%@ page import= "org.apache.struts.util.RequestUtils"%>

    <%@ page import= "org.apache.struts.taglib.TagUtils"%>
    2.創建一個JAVASCRIPT函數:
    <script language="JavaScript" type="text/javascript">
    function search() {
     <%String searchUrl = RequestUtils.computeURL(
       pageContext,
       null,
       null,
       "/Search.do",
       null,
       null,
       null,
       false);
     %>
       
     document.form1.action = "<%=searchUrl%>";
     document.form1.submit();  
    }
    </script>
    3.在JSP頁面中給對應的表單指定ID以便上面的函數進行確定提交的是哪個FORM(如果一個頁面在存在多個FORM的話):
    <html:form styleId="form1" action="/aotherSearch">
    .........
    </html:form>
    4.在需要觸發提交動作的地方,調用2中的JAVASCRIPT函數:
    <html:button property="searchInfo" value="檢索" onclick="search()" style="width:100px" />

    對應的ACTION與FORM在配置文件中定義.這樣,就可以動態更改FORM的ACTION實現一個FORM對應多個ACTION了.

    posted on 2005-11-24 11:29 Terence 閱讀(1620) 評論(2)  編輯  收藏 所屬分類: STRUTS

    評論

    # re: 利用函數computeURL( )實現同一FORM的多動作提交 2005-11-27 13:22 DenisLing

    果然是個好方法!我以前的做法仿照了HtmlTag.java里面的做法提取了真正的action路徑,然后自己寫了個taglib來實現的!麻煩多了  回復  更多評論   

    # re: 利用函數computeURL( )實現同一FORM的多動作提交 2005-11-29 11:02 IBM

    用js不是也可以隨時改變嗎?
    根據傳入js的參數來決定form的action的地址是哪一個~  回復  更多評論   


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


    網站導航:
     
    主站蜘蛛池模板: 色妞WWW精品免费视频 | 日韩精品电影一区亚洲| 午夜dj在线观看免费视频| 精品国产免费一区二区| 亚洲中文字幕无码av永久| 国产成人高清亚洲一区久久 | 国产v亚洲v天堂a无| 精品一区二区三区免费毛片| 精品免费久久久久久成人影院| 亚洲乱色伦图片区小说| a级午夜毛片免费一区二区| 一个人在线观看视频免费| 狠狠亚洲狠狠欧洲2019| 最新亚洲卡一卡二卡三新区| 四虎影视成人永久免费观看视频 | 亚洲gv白嫩小受在线观看| 亚洲中文字幕无码一去台湾| 成人黄动漫画免费网站视频| 久久精品国产亚洲av麻| 美丽的姑娘免费观看在线播放| 免费**毛片在线播放直播| 亚洲国产精品网站久久| 麻豆精品不卡国产免费看| 亚洲AV成人精品日韩一区18p| 一级特黄aaa大片免费看| 在线观看成人免费| 亚洲性69影院在线观看| 国产成人一区二区三区免费视频 | 亚洲成亚洲乱码一二三四区软件| 亚洲精品天堂成人片AV在线播放| 国产成人AV片无码免费| 亚洲色自偷自拍另类小说| 羞羞网站免费观看| 国产a不卡片精品免费观看| 亚洲一线产品二线产品| 亚洲成网777777国产精品| 视频一区二区三区免费观看| 中文字幕亚洲无线码| 国产日韩精品无码区免费专区国产 | 久久99久久成人免费播放| 亚洲妓女综合网99|