【发布时间】:2014-10-20 00:40:12
【问题描述】:
我正在尝试使用 ProductLookup droplet 在 jsp 中显示产品列表,如下所示。我还尝试提供一个超链接以导航到单个产品的产品详细信息页面。
<dsp:droplet name="/atg/commerce/catalog/ProductLookup">
<dsp:param param="element.id" name="id"/>
<dsp:oparam name="output"><br/>
<dsp:a href="display_product.jsp?itemId=${id}">
Product display Name:
<b><dsp:valueof param="element.displayName"/></b><br/>
Product description Name:
<dsp:valueof param="element.description"/>
</dsp:a>
</dsp:oparam>
</dsp:droplet>
但是,我在将产品 ID 传递给 dsp:a 的 href 标签时遇到了问题。生成的 HTML 将${id} 硬编码为display_product.jsp?itemId=${id}。我正在获取产品列表,但 URL 是我面临问题的地方。如何将element.id 中的值传递给dsp:a 的href 属性?
我也尝试了以下方法,但没有成功。
1.
<dsp:a href="display_product.jsp?itemId=<%=out.print(element.id) %>">
2.
<dsp:a href="display_product.jsp?itemId=<%=out.print(id) %>">
3.
<dsp:getvalueof var="id" id="id" >
<dsp:a href="display_product.jsp?itemId=${id}">
Product display Name:
<b><dsp:valueof param="element.displayName"/></b><br/>
Product description Name:
<dsp:valueof param="element.description"/>
</dsp:a>
</dsp:getvalueof>
【问题讨论】:
-
选项 3 是您最接近工作的最佳选择......但应该是
id="id"而不是param="id" -
观察:尝试养成使用
<dsp:a *page*=而不是href的习惯。对于相对 url,它将正确解析,而对于绝对 url,它将添加上下文路径。 -
您好,我已经根据您的建议(param="id")尝试了选项 3,但它仍然无法正常工作:(。感谢您的建议
标签: java jsp atg oracle-commerce atg-droplet