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

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

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

    龍行天下

      政 博
    隨筆 - 23, 文章 - 0, 評論 - 12, 引用 - 0
    數(shù)據(jù)加載中……

    struts在URI后面?zhèn)鲄?shù)的問題

    在struts標簽<html:link>的page屬性指定的URI后面?zhèn)鬟f參數(shù)可以有幾種方式:
    1.若明確參數(shù)名和參數(shù)值則直接在URI后輸出,
    如:<html:link page="/test.do?action=add">add</html:link>

    2.對于參數(shù)值不確定的,paramName和paramProperty來輸出,用paramId屬性指定參數(shù)名。
    對于paramName指定的對象應(yīng)該存在于page、request、session、application其中之一。一般來說,是從Action類傳過來的,作為request的屬性之一(requst.setAttribute("name",object))。
    如果paramName指定的對象是action的ActionForm,則無需使用request.setAttribute方法。
    例:<html:link page="/test.do" paramId="userid" paramName="uid">uname</html:link>
    若參數(shù)值是一個bean對象的屬性值(比如ActionForm,或者集合中存放的對象)則:
    <html:link page="/test.do" paramId="userid" paramName="user" paramProperty="uid">uname</html:link>

    3.若兩個參數(shù),一個確定一個不確定,則是以上兩種方法的結(jié)合,即:
    <html:link page="/test.do?action=modify" paramId="userid" paramName="uid">modify</html:link>

    4.對于多個參數(shù)的問題,可以使用一個HashMap集合對象來存放所有的參數(shù)名及對應(yīng)的參數(shù)值的方式,paramName屬性值指定為該HashMap集合對象即可。
    舉例:
    <%
    //代碼理想的位置應(yīng)該是在action中
    //可以在jsp頁面測試
    ? java.util.HashMap pms = new java.util.HashMap();
    ? pms.put("code", "001002");
    ? pms.put("name", "tester");
    ? pms.put("alias", new String[]{"matin","jack"});
    ? request.setAttribute("params", pms);
    %>
    <html:link action="/test.do" name="params" >test</html:link>
    編譯后的結(jié)果:<a href="/test.do?code=001002&name=tester&alias=matin&alias=jack">test</a>
    這種方式雖然可以解決傳多參數(shù)的問題,但是實現(xiàn)起來也比較麻煩,特別是對記錄集中的數(shù)據(jù)逐條列出的時候

    5.針對有的網(wǎng)友在<html:link>標簽中嵌入使用jsp腳本(scriptlet)的問題,
    例如:
    <html:link page="/test.do?code=<%=varible%>">add</html:link>,這種寫法是錯誤的,是無法編譯的。
    有的網(wǎng)友認為在struts標簽內(nèi)是不允許使用jsp腳本的,這種說法也不準確。如果前面的寫法改成:
    <html:link page="<%="/test.do?code="+varible%>">add</html:link>,就可以被執(zhí)行,但是要注意URL相對路徑的問題。

    雖然在struts標簽中嵌入jsp腳本不是真正意義上的struts應(yīng)用,但是有時在委曲求全的情況下也只能如此了,除非使用自定義標簽。比如在form表單中可能需要根據(jù)具體數(shù)據(jù)讓某個字段是只讀的,就可以用嵌入jsp腳本來實現(xiàn):
    <%
    boolean rdonly=false;
    if(2==2) rdonly=true;
    %>
    <html:text property="userid" readonly="<%=rdonly%>" />


    6.另外一種比較變態(tài)的方法,既不是真正意義上的struts,也不符合xml規(guī)范。那就是在<a>標簽中用<bean:write>標簽輸出參數(shù)值。
    如:<a href="test.do?uid=<bean:write name="user" property="userid"/>&name=<bean:write name="user" property="username"/>">test</a>

    posted on 2006-05-03 20:02 feingto 閱讀(888) 評論(0)  編輯  收藏 所屬分類: Java Web

    主站蜘蛛池模板: 人成午夜免费大片在线观看| 亚洲AV无码AV日韩AV网站| 中文字幕成人免费高清在线视频 | 无码国产精品一区二区免费式直播 | 亚洲妇女熟BBW| 在线播放免费人成视频在线观看| 亚洲精品人成网在线播放影院| 99久久综合国产精品免费| 国产精品亚洲自在线播放页码| 在线观看免费成人| 日本亚洲欧美色视频在线播放| 国产免费午夜a无码v视频| 无套内谢孕妇毛片免费看看| 亚洲色成人中文字幕网站| 午夜视频在线免费观看| 亚洲欧洲在线播放| 暖暖免费高清日本一区二区三区| 色视频在线观看免费| 久久亚洲国产精品一区二区| 91精品全国免费观看含羞草| 亚洲日韩国产二区无码| 亚洲精品成a人在线观看| 成人性生交大片免费看好 | 亚洲AV永久无码天堂影院 | 亚洲国产精品嫩草影院久久| 两个人看的www免费高清| 亚洲美女视频网站| 日韩一品在线播放视频一品免费| www.av在线免费观看| 亚洲尹人香蕉网在线视颅| 免费观看a级毛片| 中文字幕乱码免费看电影| 亚洲国产精品综合一区在线| 免费在线黄色网址| 精品一区二区三区无码免费视频| 亚洲精品无码aⅴ中文字幕蜜桃| 亚洲色精品88色婷婷七月丁香| 永久免费AV无码国产网站| 久久久受www免费人成| 亚洲天堂2017无码中文| 亚洲人成网77777亚洲色|