在我的 JSP 中,我有:
<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); "/>
表达式%{#${param.innerDdAttr}.id}
在 中解析s:submit
,但%{#${param.objId}}
不是在中解析,s:submit
而是在s:property
and 中解析s:textarea
。
有谁知道它为什么以这种方式工作?
我试过%{${param.objId}}
而不是%{#${param.objId}}
它,它奏效了。
但我无法解释为什么它会起作用......