提问人:Min Chen 提问时间:7/16/2021 最后编辑:Roman CMin Chen 更新时间:7/16/2021 访问量:50
选中复选框时,文本字段如何显示存储在“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;
和 a :String[]
@In(scope=ScopeType.CONVERSATION)
@Out(scope=ScopeType.CONVERSATION)
private String[] paramsText;
用于存储 的 ,在我的 jsp 中,我用于显示 和 :paramsText
value
paramMap
<s: iterator>
paramMap
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>/>
 <s:property value="#param.value"/>
</td>
<td>
<input type="text" text_id="<s:property value="#paramsStatus.index"/>" name="paramsText" />
</td>
</tr>
选中复选框时,文本字段如何显示存储在 中的值?我正在考虑属性,我应该如何指定它?paramsText
value
答:
1赞
Roman C
7/16/2021
#1
迭代时可以得到的值。您需要使用 <s:set>
标记将值存储在值堆栈中。paramsText
<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"/>">
评论
1赞
Min Chen
7/16/2021
非常感谢您的指导,这解决了问题,但是如果不存储 of ,而是存储用户输入的文本,在这种情况下如何显示值呢?paramsText
value
HashMap
0赞
Roman C
7/16/2021
您可以阻止用户通过设置属性或使用输入类型来修改值。readonly
hidden
0赞
Min Chen
7/16/2021
实际上,我的逻辑是:如果用户不输入文本,则将存储 的,如果用户输入一些文本,则将存储文本而不是value
HashMap
value
评论