Struts 2表单的动态id值

时间:2014-12-29 10:31:59

标签: jsp struts2 ognl

所有

我想在struts 2表单和其他标签中使用id属性的动态值。 以下是相同的代码:

<s:if test="null != #request.METHOD_CALL || #request.METHOD_CALL == 'ADD' ">
    <s:set name="pre" value="%{'a_'}" /> 
</s:if>
<s:else>
    <s:set name="pre" value="%{'e_'}" /> 
</s:else>

<s:form action="saveMeetingAction" id="**<s:property value='pre'/>**_editForm">
<s:textfield  name = "recDt" id = "**<s:property value="pre"/>**rcrdDt" size='11' maxlength='11' />

我希望看到我的表格如下:

<s:form action="saveMeetingAction" id="e_editForm">
<s:textfield  name = "recDt" id = "e_rcrdDt" size='11' maxlength='11' />

<s:form action="saveMeetingAction" id="a_editForm">
<s:textfield  name = "recDt" id = "a_rcrdDt" size='11' maxlength='11' />

请建议如何在s:form中生成id属性。这很简单的html表单。

1 个答案:

答案 0 :(得分:1)

尝试

<s:if test="null != #request.METHOD_CALL || #request.METHOD_CALL == 'ADD' ">
    <s:set var="pre" value="%{'a'}" /> 
</s:if>
<s:else>
    <s:set var="pre" value="%{'e'}" /> 
</s:else>

<s:form action="saveMeetingAction" id="%{#pre}_editForm">
<s:textfield  name = "recDt" id = "%{#pre}_rcrdDt" size='11' maxlength='11' />

如果您使用的是Struts标记,则可以在属性中创建OGNL表达式。要使用set标记定义变量,您应使用var属性。