2012-12-07 56 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。 –