从值栈中获取s:param中的值

时间:2014-11-03 16:03:53

标签: jsp struts2

我在项目中从2.3.4.1升级到struts 2.3.16.3,以下标记停止工作。

<s:param name="%{#key}" value="%{#keyValue}"/>

param标记内正在使用s:url。正在评估名称部分,但不评估该值,并在页面的url中显示为文本“keyValue”。此标记位于联系人jsp中,该jsp包含在其他jsps中。 keykeyValue在父jsp中定义。

例如,<s:set var="key" value="'billToId'" /> <s:set var="keyValue" value="'%{billToId}'"/>

我尝试在struts.xml中设置以下常量,但它没有解决问题。

<constant name="struts.ognl.enableOGNLEvalExpression" value="true" />

我已针对此问题提出了解决方法,但有没有办法使用此ognl表达式从值堆栈中读取值。

2 个答案:

答案 0 :(得分:0)

我不记得自param标记仅接受String类型的值以来的时间。它可能是一个错误,但实际参数值类型应转换为String类型。另请参阅Suppress empty parameters using param tag

答案 1 :(得分:0)

  

您使用的是jsp:include还是s:include?      

正在使用@AndreaLigios <%@ include file="/WEB-INF/jsp/contact/listContacts.jspf"%>

<%@ include是静态包含指令,您应该使用动态<jsp:include/>标记,甚至更好,因为您使用的是Struts2 <s:include/>标签。

详细了解detailed answer

相关问题