有这样一个月份的下拉列表,可以选择1~12月这12个月份,然后提交可以查到相应的内容,默认的情况是当前月被选择,为什么选择了其他月份查询后,列表的内容又跳回到当前月了呢,比如现在是11月,当选择9月,点击查询后,下拉列表的内容又跳回到11月,我想把它改成选择那个月,列表内容就停留在哪个月的功能,请指教

解决方案 »

  1.   

    把选择的内容存到request里,然后查询后取值在赋回去
      

  2.   

    <select name="className" id="className">
    <logic:empty name="cList" scope="request">
    <option value="">
    没有班级
    </option>
    </logic:empty>
    <option value="">
    -请选择-
    </option>
    <logic:notEmpty name="cList" scope="request">
    <logic:iterate id="cl" name="cList" scope="request">
    <core:choose>
    <core:when test="${当前选中的值==列表中的某个值}">
    <option value="当前选中的值" selected="selected">
    当前选中值的显示信息
    </option>
    </core:when>
    <core:otherwise>
    <option value="列表中除当前选中值之外的值">
    列表中除当前选中值之外的值的显示信息
    </option>
    </core:otherwise>
    </core:choose>
    </logic:iterate>
    </logic:notEmpty>
    </select>我程序中这样写是可以的,祝你好运!
      

  3.   

    Java code:
     String selectMonth = request.getParameter("month"); 
     request.setAttribute("month",month);Jsp Code:
    <select name="month">
    <logic:iterator id="month" name="monthList">
      <option value="${month.monthValue}" 
       ${month == month.monthName?'selected':''>${month.monthName}</option>
    </logic:iterator>
      

  4.   

    我认为主要问题还是你没有保存好月份,我的理解是你在初始化的时候将当前月份保存了下来,当你选择完成后再次来到这个web页面的时候还是使用的当前月份的初始化并没有修改为所选择的月份。如果是这种问题的话修改下这个月份值就可以实现了,改动应该不是很大。
      

  5.   

    将查询参数的月份值保存request.setAttribute("month", 月份值);
    页面初始化的时候譬如你是这样的
    <select name=months>
    <%
    String month = request.getAttribute("month");
    for(int i = 1; i < 13; i++){
    if(month != null && Integer.parseInt(month) == i) {%>
    <option value="<%=i%>" selected="true"><%=i%>月</option>
    <%} else {%>
    <option value="<%=i%>"><%=i%>月</option>
    <%}
    }
    %>
    </select>
    当然   如果会javascript的话就更简单   几句js就搞定
      

  6.   

    如果跳转到的是同一个页面,怎么用setAttribute和getAttribute?