问题描述
这个是我在页面写的 读取Action 里的listkdd 这个list 的 迭代方法。 <s:iterator value="listkdd" status="status"><tr> <td><s:textfield name="listkdd[%{#status.index}].hyoji_cd" value="%{listkdd[#status.index].hyoji_cd}" ></s:textfield></td> <td><s:textfield name="listkdd[%{#status.index}].keidata_key" value="%{listkdd[#status.index].keidata_key}" ></s:textfield></td> <td><s:textfield name="listkdd[%{#status.index}].policy_name" value="%{listkdd[#status.index].policy_name}" ></s:textfield></td> <td><s:textfield name="listkdd[%{#status.index}].search_word" value="%{listkdd[#status.index].search_word}" ></s:textfield></td> <td><s:textfield name="listkdd[%{#status.index}].search_cnd" value="%{listkdd[#status.index].search_cnd}" ></s:textfield></td> <td><s:textfield name="listkdd[%{#status.index}].seiritu_cnd" value="%{listkdd[#status.index].seiritu_cnd}" ></s:textfield></td> [color=red] <td><s:textfield name="listkdd[%{#status.index}].tenpu_cnd" value="%{listkdd[#status.index].tenpu_cnd}" ></s:textfield></td> <td><s:textfield name="listkdd[%{#status.index}].keikoku_mthd" value="%{listkdd[#status.index].keikoku_mthd}" ></s:textfield></td> <td><s:textfield name="listkdd[%{#status.index}].kaijo_cd" value="%{listkdd[#status.index].kaijo_cd}" ></s:textfield></td> <td><s:textfield name="listkdd[%{#status.index}].policy_msg" value="%{listkdd[#status.index].policy_msg}" ></s:textfield></td> </tr></s:iterator> 现在要做的:1把其中的几个texlfield接收提交数据改成select接收提交数据。该如何修改。 <td><s:textfield name="listkdd[%{#status.index}].keikoku_mthd" value="%{listkdd[#status.index].keikoku_mthd}" ></s:textfield></td> <td><s:textfield name="listkdd[%{#status.index}].kaijo_cd" value="%{listkdd[#status.index].kaijo_cd}" ></s:textfield></td>这两个 改成用select 形式 接收 和提交 数据。2 select 有定义好的 1 ,2, 3, 4 4个optiong ,读出的值和其中的相等的话,则为初期表示的selected。该怎么做 问题补充:enet_java 写道
解决方案
name是你提交的属性,不变。value是你取出的数据,把取出的放在标签value中就会对应的去显示list中对应的key的值了。因为list中放的是数组也可以是key和value的数据。<s:select list="#{'01':'01','02''}" name="listkdd[%{#status.index}].kaijo_cd" value="hyoji_cd}" theme="simple"></s:select>
解决方案二:
明白你的意思了,选择项已经是页面定义好的,需要根据list中取出的值进行匹配,相等置为selected 选中参考下面的试试,红色部分修改为真实值<s:select label="TestSelect" name="testSelect" headerKey="-1" headerValue="Select" list="#{'1':'text01', '2':'text02', '3':'text03', '4':'text04'}" required="true" value="listkdd[%{#status.index}].keikoku_mthd" />
解决方案三:
晕,两次还没有写正确,重来!!!<s:select label="TestSelect" name="testSelect" list="listkdd" listValue="hyoji_cd" listKey="hyoji_cd"/>这样查看源码可以看到如下:<select name="testSelect" id="testSelect"> <option value="xxxx">xxxx</option> <option value="xxx">xxx</option> <option value="xx">xxx</option> <option value="xx">xx</option> </select>
解决方案四:
引用1 可以参考下面的代码 <s:select label="TestSelect" name="testSelect" list="listkdd" listValue="#status.hyoji_cd" listKey="#status.hyoji_cd"/>写错了,应该是<s:select label="TestSelect" name="testSelect" list="listkdd" listValue="#hyoji_cd" listKey="#hyoji_cd"/>
解决方案五:
1 可以参考下面的代码<s:select label="TestSelect" name="testSelect" list="listkdd" listValue="#status.hyoji_cd" listKey="#status.hyoji_cd"/>
解决方案六:
2 可以参考下面的代码 其中 testSelectValue 与list中的某个值相等,就会自动选中<s:select label="TestSelect" name="testSelect" headerKey="-1" headerValue="Select" list="#{'1':'text01', '2':'text02', '3':'text03', '4':'text04'}" required="true" value="testSelectValue"/>
解决方案七:
1.0 select 接收?<select name='' > <s:iterator value="listkdd" status="status"> <option value='%{listkdd[#status.index].hyoji_cd}'> listkdd[%{#status.index}].hyoji_cd </option> </s:iterator> </select>2.0 读出的值和其中的相等的话,则为初期表示的selected。循环判断的时候会价格属性<option selected > </option> 这样就可以选中了!