2012-12-07 97 views
1

我想傳遞一個參數,並通過標記保存用戶名。<html:link>傳遞參數

在corrosponding動作類中,我使用request.getParameter()函數檢索參數,但是我將該值作爲null。這裏是我的代碼

<% 
    String username="aniket"; 
    request.setAttribute("username",username); 
    %> 
<html:link action="AllResidentInfo.do" paramName="username" paramProperty="username">All Resident's Info</html:link> 

我在做什麼錯

回答

2

直接從the documentation

芳族聚酰胺

將被動態地添加到 生成的超鏈接的請求參數的名稱。相應的值由 PARAMNAME和(可選)paramProperty屬性定義,任選地通過本paramScope屬性

PARAMNAME

一個JSP bean,它是一個包含 請求參數的值的字符串的名稱作用域 由paramId命名(如果paramProperty不是指定的 ),或者調用其屬性getter被調用返回 字符串(如果指定了paramProperty)的JSP bean。如果指定了 ,則JSP bean受限於由paramScope屬性指定的bean作用域 。

所以應該

<html:link action="AllResidentInfo.do" paramId="username" paramName="username"/> 
+0

如果我PARAMNAME含有具有「用戶名」,吸氣二傳手怎麼一回事,因爲如果我這樣做,你告訴我,它讓我有錯誤的JSP文件的名稱作爲「沒有getter方法的屬性:」username「bean:」username「 –

+0

JSP沒有getter和setter,我不明白你在問什麼,'paramId'是請求參數的名字。 paramName是包含參數值的請求屬性的名稱,所以如果paramId是「foo」,paramName是「bar」,並且你有一個包含字符串「hello」的請求屬性名稱「bar」,它會生成鏈接'AllResidentInfo.do?foo = hello'。所以,你的腳本代碼示例上面的sould會生成'AllResidentInfo.do?username = aniket' –

+0

ya,我做了你告訴我的,但它仍然給我錯誤,無法在任何範圍內找到bean:username。 –