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