日期:2014-05-17  浏览次数:20715 次

下拉框问题??
在做修改资料的功能,当用户登录后,就可以修改个人的信息,在修改的页面将用户注册的相关信息全部显示在修改的页面上,但是我的性别和年龄可以取到,但是在单选按钮,和下拉框中不改变,求解,???? 用struts2框架做的

//修改的页面
<tr>
  <td>
  性&nbsp; 别:<input type="radio" name="info.sex" value=<s:property value="#session.info.sex" /> checked="checked" />男
  <input type="radio" name="info.sex" value="<s:property value="#session.info.sex" />
" />女  
 
  //这句话可以取到性别,但是放在单选按钮里面就显示不了,不知道这是为什么<s:property value="#session.info.sex" />

 
  </td>
  </tr>
  <tr>
  <td>
  年&nbsp; 龄:
  <select name="info.age">
  <option value="16">16</option>
  <option value="17">17</option>
  <option value="18">18</option>
  <option value="19">19</option>
  <option value="20">20</option>
  <option value="21">21</option>
  <option value="22">22</option>
  <option value="23">23</option>
  <option value="24">24</option>
  <option value="25">25</option>
  <option value="26">26</option>
  <option value="27">27</option>
  <option value="28">28</option>
  <option value="29">29</option>
  <option value="30">30</option>
  <option value="31">31</option>
  <option value="32">32</option>
  <option value="30">33</option>
  <option value="31">34</option>
  <option value="32">35</option>
  </select>
 

  //这句话可以取到数据库里面的年龄<s:property value="#session.info.age" />
 
  </td>

------解决方案--------------------
单选按钮可不是取值这么简单,是需要按需改为 checked,比如:

<select name="info.age">
<option value="16">16</option>
<option value="17">17</option>
<option value="18" checked="checked">18</option>

所以你仅仅是取值出来,没用的;是每个option都写:
<c:if test="${session.info.age==16}">selected="selected"</c:if>

这太麻烦了,还是用 select 标签来做吧,参见:
http://xizhongshui.iteye.com/blog/1568900
------解决方案--------------------
探讨
下拉框解决了,在就是单选按钮的问题啊

------解决方案--------------------
<s:if test="#session.info.sex=='男'.toString()">
<input type="radio" name="info.sex" checked="checked" />男
<input type="radio" name="info.sex" />女
</s:if>
<s:else>
<input type="radio" name="info.sex" />男
<input type="radio" name="info.sex" checked="checked" />女
</s:else>