如何在struts 1.2中使用<bean:write>标签?</bean:write>

时间:2011-07-14 12:18:15

标签: java struts-1

如何在Struts 1.2中使用<bean:write>标记。

name属性中,必须使用什么值? bean名称是您的属性名称吗?

3 个答案:

答案 0 :(得分:30)

<bean:write>的Javadoc:

  

指定访问其属性的bean的属性名称   检索 property 指定的值(如果指定)。如果财产   如果未指定,则将呈现此bean本身的值。

实质上,如果你有一个JavaBean(带有getter和setter),

Person person = new Person;
request.setAttribute("person", person);

通过设置<bean:write name="person" property="age" />,您告诉Struts首先从person范围中找到PageContext对象优先。如果找不到,则request,然后是session,然后是application范围。

property="age"属性(来自<bean:write />标记)然后将从getAge()对象调用getter方法Person(无论是否有名为{{的实例变量) 1}}在bean上。)

希望这有帮助。

答案 1 :(得分:3)

为了显示person.getAge(),您将使用

<bean:write name="person" property="age" />

答案 2 :(得分:0)

“name”属性应指定bean的名称。例如,如果您尝试从ActionForm输出属性,则应将name属性设置为ActionForm的名称,并将property属性设置为要写入的ActionForm的属性。所以在这种情况下你可能会这样做:

<bean:write name="productInfo" property="summary" />

如果例如使用标记声明非ActionForm bean,则name属性将设置为该已定义bean的名称:

<bean:define id="displayText" value="Text to Display" />
<bean:write name="displayText" />

请注意,在这种情况下缺少property属性,在这种情况下将显示bean本身的tostring值。