%@ page language="java" contentType="text/html; charset=utf-8"
import="java.io.*" import="java.util.*" import="java.text.*"%>
Insert title here
<%
request.setCharacterEncoding("UTF-8");
final NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(2);
nf.setMinimumFractionDigits(2);
try {
String rateParameter = request.getParameter("rate"); // как не дожидаться этого параметра? и продолжать работу
Double rate = Double.parseDouble(rateParameter);
Scanner sc = null;
String real_filename = pageContext.getServletContext()
.getRealPath("/goods.txt");
try {
sc = new Scanner(new File(real_filename));
} catch (Exception e) {
e.printStackTrace();
}
Map goods = new TreeMap();
while (sc.hasNext()) {
String line = sc.nextLine();
String[] goodsData = line.split("=");
goods.put(goodsData[0], Double.parseDouble(goodsData[1])
* rate);
}
%>
Список товаров
| Товар |
Цена(бел. руб.) |
<%
//iterating over keys only
for (String key : goods.keySet()) {
out.println(key + " ");
}
%>
|
<%
//iterating over values only
for (Double value : goods.values()) {
out.println(nf.format(value) + " ");
}
%>
|
<%
} catch (NumberFormatException nfe) {
out.println(nfe.toString());
} catch (NullPointerException npe) {
out.println(npe.toString());
} catch (Exception e) {
out.println(e.toString());
}
%>