首页 > 解决方案 > 选中复选框时,文本字段如何显示存储在 `paramsText` 中的值?

问题描述

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

@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;

theparamsText用于存储valueof paramMap,在我的 jsp 中,我<s: iterator>用来显示paramMapand 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属性,我应该如何指定它?

标签: javascripthtmljspstruts2struts-tags

解决方案


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

<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"/>">

推荐阅读