页面上是这样的
<html:select property="svrDueId" >
<html:option value="">未指定</html:option>
<html:optionsCollection name="userlist" label="usrName" value="usrId" />  //这里读出来是有值得
</html:select>代码里写的是
String svrDueId=request.getParameter("svrDueId");
这时的值为空,为什么?要怎么改

解决方案 »

  1.   

    到这里看看
    看能不能解决你的问题
    http://user.qzone.qq.com/492236022/blog/1221124323
      

  2.   

    为什么用这种方式呢?你用了html:select的property,那么你的Form里面肯定有这个属性吧?直接从form里面取不就好啦?
    比如(***Form) f = (****Form) form;
    String svrDueId = f.getSvrDueId();//get/set在FormBean里面要写。
      

  3.   

    楼主把你的jsp整个贴出来看看好么?这么诡异的问题还是头一次碰见
      

  4.   

    <table class="data_list_table" border="0" cellPadding="3"
    cellSpacing="0">
    <tr>
    <th onclick="order_by('svrId');">编号</th>
    <th onclick="order_by('svrType');">服务类型</th>
    <th onclick="order_by('svrTitle');">概要</th>
    <th onclick="order_by('svrCustName');">客户</th>
    <th onclick="order_by('svrCreateBy');">创建人</th>
    <th onclick="order_by('svrCreateDate');">创建时间</th>
    <th onclick="order_by('svrDueTo');">分配给</th>
    <th>操作</th>
    </tr>
    <logic:iterate id="cst" name="cstList" 
    >
    <tr>
    <td class="list_data_number">${cst.svrId }&nbsp;
    <html:hidden property="cst.svrId" value="${cst.svrId }"/>
    </td>
    <td class="list_data_text">${cst.svrType }&nbsp;<html:hidden property="cst.svrType" value="${cst.svrType}"/></td>
    <td class="list_data_ltext">${cst.svrTitle }&nbsp;<html:hidden property="cst.svrTitle" value="${cst.svrTitle}"/></td> <td class="list_data_text">${cst.svrCustName }&nbsp;<html:hidden property="cst.svrCustName" value="${cst.svrCustName}"/></td> <td class="list_data_text">${cst.svrCreateBy }&nbsp;<html:hidden property="cst.svrCreateBy " value="${cst.svrCreateBy }"/></td>
    <td class="list_data_text"><bean:write name="cst"
    property="svrCreateDate" format="yyyy年MM月dd日" />&nbsp;

    <html:hidden property="svrCreateDate" value="${cst.svrCreateDate}"/></td>
                        <html:hidden property="cst.svrRequest" value="${cst.svrRequest}"/>
    <td class="list_data_text">
    <html:select property="cst.svrDueId" value="4" onchange="setLabel(this,'item.custManagerName');">
    <html:option value="">未指定</html:option>
    <html:optionsCollection name="userlist" label="usrName" value="usrId" />
    </html:select>
       
    <html:submit value="分配" styleClass="common_button"></html:submit>
    </td>
    <td class="list_data_op"><img
    onclick="tolist('${cst.svrId }');" title="删除"
    src="${pageContext.request.contextPath}/images/bt_del.gif" class="op_button" /></td>
    </tr>
    </logic:iterate>
    <logic:empty name="cstList" >
    <tr>
    <td class="data_cell" colspan="20"
    style="text-align:center;height:40px;">没有记录</td>
    </tr>
    </logic:empty>
    <tr>
    <td colspan="20" style="padding:0 1px;">
    <div class="pager">共有${page.totalRecoder }条记录&nbsp;&nbsp;
    <a href="${pageContext.request.contextPath}/cst/cstAction.do?action=dolist&pageNo=0">第一页</a>
        <a href="${pageContext.request.contextPath}/cst/cstAction.do?action=dolist&pageNo=${page.pageNo-1}">上一页 </a>
    <a href="${pageContext.request.contextPath}/cst/cstAction.do?action=dolist&pageNo=${page.pageNo+1}"> 下一页</a>
        <a href="${pageContext.request.contextPath}/cst/cstAction.do?action=dolist&pageNo=${page.totalPages-1}">最后一页</a>
       </div>
    </td>
    </tr>
    <tr>

    </tr>
    </table>
      

  5.   

    你应该使用js 获取  select的值<SCRIPT language=javascript>
    <!--
    function init(){
    alert(document.getElementById("svrDueId").value)
    }
    //-->
    </SCRIPT>
    <body onload="init()">
    <select name="svrDueId" id="svrDueId"> 
    <option value="">未指定 </option>
    <option value="1" selected>1 </option> 
    </select> 
    </body>
      

  6.   

    JSP的解析顺序:
    1)先从上到下  解析 <% jsp代码 %> 以及<html:select>标签等JSP动态代码2)再从上到下解析   javascript语句 或者  html标签你取不到值  原因只有两个:1) 你的 request 里面 肯本没有svrDueId  你String svrDueId=request.getParameter("svrDueId")当然没有值2) 你的String svrDueId=request.getParameter("svrDueId") 代码顺序 写错了