选中复选框时,文本字段如何显示存储在“paramsText”中的值?

How could the text field show the value stored in the `paramsText` when the checkbox is checked?

我在 Struts2 中有一个 HashMap<String, String>:

@In(scope=ScopeType.CONVERSATION)
@Out(scope=ScopeType.CONVERSATION)
private Map<String, String> paramMap;

和一个String[]:

@In(scope=ScopeType.CONVERSATION)
@Out(scope=ScopeType.CONVERSATION)
private String[] paramsText;

paramsText用来存放paramMapvalue,而在我的jsp中,我用<s: iterator>来显示[=17] =] 和 paramsText:

<s:iterator value="paramMap" var="param" status="paramsStatus">
<tr>
 <td>
 <input type="checkbox" key_id="<s:property value="#paramsStatus.index"/>" name="params" value="<s:property value="#param.key"/>"
 <s:iterator value="params" var="app">
  <s:if test="#app==#param.key">
  checked
  </s:if>
 </s:iterator>/>
 &emsp;<s:property value="#param.value"/>
 </td>

 <td>
 <input type="text" text_id="<s:property value="#paramsStatus.index"/>" name="paramsText" />
 </td>
</tr>

选中复选框时,文本字段如何显示存储在 paramsText 中的值?我在考虑value属性,我应该怎么指定呢?

paramsText 中迭代时可以得到的值。您需要使用 <s:set> tag 将值存储在值堆栈中。

<s:iterator value="params" var="app">
  <s:if test="#app==#param.key">
  checked
  <s:set var="paramsText" value="#param.value"/>
  </s:if>
</s:iterator>/>

<input type="text" text_id="<s:property value="#paramsStatus.index"/>" name="paramsText" value="<s:property value="#paramsText"/>">