当前位置: 代码迷 >> Java Web开发 >> struts2标签不能动态生成name属性解决思路
  详细解决方案

struts2标签不能动态生成name属性解决思路

热度:6   发布时间:2016-04-16 22:26:23.0
struts2标签不能动态生成name属性
我这里的一个需求,<s:select />标签的name属性要动态生成,但是我发现struts2标签的name属性会被当成一个字符串,<s:select name="empsalarystatdetail[<%=i-1 %>].taskinfoid" list="projList" theme="simple" value="taskinfoid"></s:select>这句无法生成我想要的结果,我本来想要的是name="empsalarystatdetail[3].taskinfoid"但生成的却是name="empsalarystatdetail[&lt;%=i-1 %&gt;].taskinfoid".不知道有什么方法可以动态的生成name属性。
------解决方案--------------------
一般有这样的需求都是需求有问题。换个方法实现。
------解决方案--------------------
引用:
我这里的一个需求,<s:select />标签的name属性要动态生成,但是我发现struts2标签的name属性会被当成一个字符串,<s:select name="empsalarystatdetail[<%=i-1 %>].taskinfoid" list="projList" theme="simple" value="taskinfoid"></s:select>这句无法生成我想要的结果,我本来想要的是name="empsalarystatdetail[3].taskinfoid"但生成的却是name="empsalarystatdetail[&lt;%=i-1 %&gt;].taskinfoid".不知道有什么方法可以动态的生成name属性。


里面的括号下行吗,字符串嵌套,加上单引号。‘<%=i-1 %>’
------解决方案--------------------
如果是在s:iterator时面可以直接这样写name="empsalarystatdetail[%{#itStatus.index+1}].taskinfoid"
------解决方案--------------------
引用:
如果是在s:iterator时面可以直接这样写name="empsalarystatdetail[%{#itStatus.index+1}].taskinfoid"


+1
或者
<s:select  list="projList" theme="simple" value="taskinfoid">
   <s:param value="name">empsalarystatdetail[<%=i-1 %>].taskinfoid</s:param>
</s:select>

------解决方案--------------------
用模板引擎呢,插值
  相关解决方案