|
看了一些使用html:link的文章,大多只是說了paramId結(jié)合paramName和paramProperty的使用。下面將會(huì)用到name,paramId,paramName和paramProperty一起使用的效果。 首先是先解釋簡(jiǎn)單的應(yīng)用paramId,paramName和paramProperty <html:link action="/atctionName" paramId="paramValue" paramName="beanName" paramProperty="beanProperty" >點(diǎn)擊鏈接</html:link> 假設(shè)在scope范圍中,有一個(gè)bean叫beanName,beanName的一個(gè)屬性beanProperty的值為value,那么當(dāng)你點(diǎn)擊鏈接之后會(huì)有下面的鏈接效果: http://localhost:8080/projectName/atcionName?paramValue=value paramId屬性是讓你告訴jsp編譯引擎你要傳送的參數(shù)是那個(gè)。 paramName屬性是使用那個(gè)bean,paramProperty屬性是使用這個(gè)bean的那個(gè)屬性,兩者的結(jié)合就是讓你告訴jsp編譯引擎你要利用參數(shù)傳送bean中屬性的值. 上面只可以傳送一個(gè)參數(shù),但在應(yīng)用中往往不夠的,name屬性就是專門用來傳送多個(gè)參數(shù)的。 name屬性必須是map類型的變量。 假設(shè)如果你定義下面的一個(gè)map: Map mapName=new HashMap(); mapName.put("paramValue1","value1"); mapName.put("paramValue2","value2"); request.setAttribute("mapName",mapName); 在jsp頁面有下面的一個(gè)鏈接: <html:link action="/atctionName" name="mapName">點(diǎn)擊鏈接</html:link> 點(diǎn)擊鏈接后的效果: http://localhost:8080/projectName/atcionName?paramValue1=value1¶mValue2=value2 當(dāng)我在一次實(shí)踐中,聯(lián)想了一下,當(dāng)解析tag時(shí)應(yīng)該會(huì)解析全部所用到的屬性,所以就做了下面的一個(gè)測(cè)試, 下面是一個(gè)四個(gè)屬性一起使用的例子: <html:link action="/atctionName" name="mapName" paramId="paramValue" paramName="beanName" paramProperty="beanProperty" >點(diǎn)擊鏈接</html:link> 得到的效果是: http://localhost:8080/projectName/atcionName?paramValue1=value1¶mValue2=value2¶mValue=value 所有屬性的值都解析出來了。 這樣的效果可以用在你想一級(jí)一級(jí)的推論下去達(dá)到的鏈接效果。也就是說,當(dāng)你提交之后,你可以把 paramValue的值put進(jìn)mapName的Map中,再返回,用在name屬性上。當(dāng)你想返回上面一級(jí)的時(shí)候可以 remove掉?;蛘弋?dāng)你的參數(shù)存放的是數(shù)據(jù)庫中多個(gè)表格的級(jí)聯(lián)主健,當(dāng)你想向后查詢上級(jí)表格時(shí)你就可以直接拿到主健進(jìn)行查詢,不用一級(jí)一級(jí)向數(shù)據(jù)庫往回查詢推出主健。 |
|
|