【发布时间】:2014-05-06 15:21:21
【问题描述】:
我有一个通用的jsp,它负责打印一些值,这些值取决于一个参数。
例如,我有一个具有 color 属性的对象 car 和一个具有相同属性的对象 house,我想使用同一个jsp接收对象的名字作为参数。
<jsp:include page="/jsp/prv/generic/PaintColor.jsp" >
<jsp:param name="element" value="car" />
</jsp:include>
所以,我想打印汽车颜色的值。我尝试这样做:
<s:set var="propertyName">${param.element}.color<s:set/>
<s:property value="%{#attr.propertyName}" />
它不起作用,但如果我这样做
<s:textfield name="%{#attr.propertyName}"/>
效果很好。
如何在值中使用参数化名称?
【问题讨论】:
-
如果您在 set 标签中设置值,则无需使用
attr表达式检索它,请使用#propertyName。 -
在 Struts2 中 JSP 被视为动作,因此您可以使用
#parameters前缀。