动态命名struts2 textfield

时间:2011-12-02 15:59:30

标签: jsp dynamic struts2 textfield

我正在尝试编写一个包含struts 2 textfield标记的JSP,如下所示:

我想使用我之前在代码中声明的变量值为这个文本字段动态分配一个名称,如下所示:

<s:if test="patient.procedureCode.size > 0">  

<% int i=0;%>  

<s:iterator value="patient.procedureCode" id ="procedureCode">      

    <%i++; %>  

    <% if((i%2) > 0) { %>    

        <tr   class="dbText" >  

            <td >  
                <s:checkbox value="false" fieldValue="%{#procedureCode.objectid}" name="objectid" theme="simple" />  
            </td>           

            <td class="BasicText" >                             
                <s:textfield value="%{proceddateVar}" size="10"  theme="simple" readonly="false" name=""/>  
            </td>  
        </tr>       
    <%} %>  

</s:iterator>  

我想给textfield一个等于变量i的当前值的名称。 请指教。

1 个答案:

答案 0 :(得分:0)

我不确定你的变量当前值是什么意思

但如果你愿意的话

<s:textfield label="What is your name?" name="%{var_val}" />

这会将文本字段命名为变量的当前值 所以我相信当迭代器迭代时它将把对象放在值栈的顶部,你可以使用OGNL表达式引用它

id has been Deprecated. Use `var` instead

IteratorStatus对象有不同的属性,因此请使用它们代替scriplet

index   int             zero-based index value.
count   int             index + 1
first   boolean     returns true if it is the first element
last    boolean     returns true if it is the last element
even    boolean     returns true if the count is an even number.
odd     boolean     returns true if the count is an odd number.
modulus     int     takes an int value and returns the modulus of count

我个人永远不会喜欢在干净的方式实现事情时混合scriplet

以下是Iterator对象的详细信息 Iterator Status