В моем JSP у меня есть:struts2 OGNL выражение
<s:textarea name="${param.objId}"/>
Это делает следующее:
<textarea name="categoryObject.linkAttrValue[#ddAttr.id].link.id"
cols="" rows=""
id="browseCategoryObject_categoryObject_linkAttrValue_#ddAttr_id__link_id">7</textarea>
Кроме того, у меня есть свойство тег:
<s:property value="${param.objId}"/>
, который визуализирует:
7
Наконец, представить тег:
<s:submit action="addRepeatingCategoryObject" value="addNew"
onclick="$('input[name=ddRepeatingAttrId]').val(%{#${param.objId}}); alert(%{#${param.objId}}); $('input[name=ddRepeatingAttrId]').val(%{#${param.innerDdAttr}.id}); " />
, который визуализирует:
<input type="submit" id="browseCategoryObject_addRepeatingCategoryObject"
name="action:addRepeatingCategoryObject" value="addNew"
onclick="$('input[name=ddRepeatingAttrId]').val(); alert(); $('input[name=ddRepeatingAttrId]').val(4); "/>
Expression %{#${param.innerDdAttr}.id}
разрешен в s:submit
, но %{#${param.objId}}
не разрешенный в s:submit
, но разрешенный в s:property
и s:textarea
.
У кого-нибудь есть идея, почему он работает таким образом?
Я попытался %{${param.objId}}
вместо %{#${param.objId}}
, и она работала.
Но я не могу объяснить, почему это работает ...
Действительно ли это ваш обработчик onclick? Пожалуйста, подумайте о том, чтобы переместить его из тега - это невозможно прочитать. –
Привет, вам не кажется, что это может быть конфликт jquery? если вам нужен какой-то удаленный контент в вашей jquery-функции, я могу попробовать вместо $ {} –
Jaiwo99
@ Jaiwo99 No; JSP EL оценивается на стороне сервера. –