Я использовал LinkHashMap для извлечения данных из базы данных и заполнения его в своем списке в JSF. Список будет заполнен. В принципе, если пользователь выбирает два элемента из списка и нажимает кнопку командной строки, приложение должно отображать ему общую цену. В основном в моей таблице, у меня есть две колонки, пункт и цена. Элемент (String) отображается в списке. Но моя проблема заключается в том, как получить цену (double), которая является значением, чтобы я мог рассчитать цену за количество выборов, которые пользователь делает на странице JSF. Пожалуйста, помогите мне решить эту проблему. Спасибо & С уважением.JSF LinkHashMap динамически заполняет список из базы данных
Смотрите мои коды ниже:
Java Коды
import java.util.LinkedHashMap;
import java.util.Map;
import java.sql.*;
public class Menu2 {
String url = "jdbc:mysql://localhost:3306/esd";
String user = "root";
String pw = "root";
String favlst;
double total;
Map<String,Object> lst; {
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, user, pw);
String sql = "SELECT * FROM list";
Statement stt = con.createStatement();
ResultSet rs = stt.executeQuery(sql);
lst = new LinkedHashMap<String, Object>();
while(rs.next()){
double price = rs.getDouble("Price");
String item = rs.getString("Item");
lst.put(item, price);
}
}catch(Exception e){
}
}
public double getTotal() {
return total;
}
public void setTotal(double total) {
this.total = total;
}
public Map<String, Object> getSelectlst() {
return lst;
}
public String Calculate(){
total = 0;
double price = 0;
price += (Double)lst.get(item);
return "success";
}
}
JSF Page
<f:view>
<h:form>
<h3> Generated by Map </h3>
<h:selectOneListbox value = "#{menu2.selectlst}">
<f:selectItems value = "#{menu2.selectlst}"/>
</h:selectOneListbox>
<br> <br>
<h:commandButton value = "Calculate" action = "#{menu.Calculate}"/>
<br> <br>
Total: Rs <h:outputLabel value = "#{menu.total}"></h:outputLabel>
</h:form>
Что вы предлагаете? –
Отправил ответ с предложениями ... – Thor
Мне все еще не ясно! :( Можете ли вы исправить мои коды, пожалуйста, –