簡體   English   中英

從html表單獲取參數的Java servlet查詢

[英]java servlet query with parameters from html form

我正在嘗試創建一個servlet,它可以獲取html下拉框的參數並使用該參數查詢數據庫。

我的html:

<form action="servlet/currencyservlet">
<select>
<option name="usd">United States Dollar</option>
<option name="pounds">United Kingdom Sterling Pound</option>
</select>
<select>
<option name="cad">Canadian Dollars</option>
<option name="cny">Chinese Yuan</option>
</select>
<input type="submit" value="Check Rate"/>
</form>

我的java:

...
...
...
conn = DriverManager.getConnect("jdbc:mysql://localhost:3306/currencydb", "root", "");
...
try{
string qstr = "SELECT source_currency, target_currency FROM currencytable WHERE????
}

“ source_currency”可以是“ usd”或“磅”,其中“ target_currency”可以是“ cny”或“ cad”。 我的查詢希望從“貨幣表”中提取匯率並將結果顯示在Servlet中。 如何解析下拉框的參數?

您的選擇框應有一個名稱。 此名稱也是提交表單時發送的HTTP參數的名稱:

<select name="sourceCurrency">
...
</select>
<select name="targetCurrency">
...
</select>

在您的servlet中,您將使用getParameter獲取源貨幣和目標貨幣:

String sourceCurrency = request.getParameter("sourceCurrency");
String targetCurrency = request.getParameter("targetCurrency");

然后,您可以使用准備好的語句將這些值傳遞給查詢:

String sql = "SELECT exchange_rate FROM currencytable WHERE source_currency = ? and target_currency = ?";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, sourceCurrency);
stmt.setString(2, targetCurrency);
ResultSet rs = stmt.executeQuery();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM