2014-10-10 52 views
0

這裏。我在我的jsp文件上創建了列表框,並通過使用getParameter獲得了我的servlet中的選定值。現在我想設置listbox的值在我以前選擇的同一個jsp文件中,當我從servlet重新載入相同的jsp文件時。如何在servlet中設置jsp的列表框值


JSP文件

<tr><td>Operation:<select name="state" > 
      <option value="1">Addition</option> 
      <option value="2">Subtraction</option> 
      <option value="3">Multiplication</option> 
      <option value="4">Division</option> 
        </select></td></tr> 

的servlet文件

operation=req.getParameter("state"); 
    n3=Integer.parseInt(operation); 

回答

1

您需要使用選擇標記屬性selected

<select name="state"> 
    <option value="1" ${'1' eq param.state ? 'selected' : ''}>Addition</option> 
    <option value="2" ${'2' eq param.state ? 'selected' : ''}>Subtraction</option> 
    <option value="3" ${'3' eq param.state ? 'selected' : ''}>Multiplication</option> 
    <option value="4" ${'4' eq param.state ? 'selected' : ''}>Division</option> 
</select> 

注意:請確保您重定向到jsp使用RequestDispatcher.forward(request, response)

$ {}是在jsp中提供的表達式語言(EL)。在EL中,${param.state}相當於request.getParameter("state")

eq是EL中的邏輯運算符,甚至可以使用==來表示相同。

使用帶有請求屬性,您可以嘗試:

<option value="1" ${'1' eq requestScope.data ? 'selected' : ''}>Addition</option> 
+0

**亞拉文:**你能解釋一下...... '$ {' 1' 情商param.state? 'selected':''}'這裏是什麼eq param.state? – user3075386 2014-10-10 06:08:54

+0

''我用過這樣的東西..但它會拋出錯誤。 – user3075386 2014-10-10 06:21:11

+0

@ user3075386,你爲什麼使用屬性?你不是在使用'RequestDispatcher.forward(request,response)'來重寫嗎? – Arvind 2014-10-10 06:23:18

相關問題