<%@ page language="java" contentType="text/html; charset=utf-8"
import="java.io.*" import="java.util.*" import="java.text.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://w...content-available-to-author-only...3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
<link rel='stylesheet' type='text/css' href='round.css'>
</head>
<body>
<FORM METHOD=post action="GoodsAndRates.jsp">
Курс <INPUT TYPE=TEXT NAME="rate"> <INPUT TYPE=SUBMIT
value="Пересчитать">
</FORM>
<%
request.setCharacterEncoding("UTF-8");
nf.setMaximumFractionDigits(2);
nf.setMinimumFractionDigits(2);
try {
String rateParameter
= request.
getParameter("rate"); // как не дожидаться этого параметра? и продолжать работу
Scanner sc = null;
String real_filename
= pageContext.
getServletContext() .getRealPath("/goods.txt");
try {
sc
= new Scanner
(new File(real_filename
)); e.printStackTrace();
}
while (sc.hasNext()) {
String[] goodsData
= line.
split("="); goods.
put(goodsData
[0],
Double.
parseDouble(goodsData
[1]) * rate);
}
%>
<b>Список товаров</b>
<br>
<table cellpadding=3 cellspacing=3 bgcolor=9AFF92>
<tr bgcolor=3CE022>
<th>Товар</th>
<th>Цена(бел. руб.)</th>
</tr>
<tr>
<td>
<%
//iterating over keys only
for (String key
: goods.
keySet()) { out.println(key + "<br>");
}
%>
<td>
<%
//iterating over values only
for (Double value
: goods.
values()) { out.println(nf.format(value) + "<br>");
}
%>
</table>
<%
out.println(nfe.toString());
out.println(npe.toString());
out.println(e.toString());
}
%>
</body>
</html>
PCVAIHBhZ2UgbGFuZ3VhZ2U9ImphdmEiIGNvbnRlbnRUeXBlPSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiCglpbXBvcnQ9ImphdmEuaW8uKiIgaW1wb3J0PSJqYXZhLnV0aWwuKiIgaW1wb3J0PSJqYXZhLnRleHQuKiIlPgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLjMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CjxodG1sPgo8aGVhZD4KPHRpdGxlPkluc2VydCB0aXRsZSBoZXJlPC90aXRsZT4KPGxpbmsgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgaHJlZj0ncm91bmQuY3NzJz4KPC9oZWFkPgo8Ym9keT4KCTxGT1JNIE1FVEhPRD1wb3N0IGFjdGlvbj0iR29vZHNBbmRSYXRlcy5qc3AiPgoJCdCa0YPRgNGBIDxJTlBVVCBUWVBFPVRFWFQgTkFNRT0icmF0ZSI+IDxJTlBVVCBUWVBFPVNVQk1JVAoJCQl2YWx1ZT0i0J/QtdGA0LXRgdGH0LjRgtCw0YLRjCI+Cgk8L0ZPUk0+Cgk8JQoJICAgIHJlcXVlc3Quc2V0Q2hhcmFjdGVyRW5jb2RpbmcoIlVURi04Iik7CgoJICAgIGZpbmFsIE51bWJlckZvcm1hdCBuZiA9IE51bWJlckZvcm1hdC5nZXRJbnN0YW5jZSgpOwoJICAgIG5mLnNldE1heGltdW1GcmFjdGlvbkRpZ2l0cygyKTsKCSAgICBuZi5zZXRNaW5pbXVtRnJhY3Rpb25EaWdpdHMoMik7CgoJICAgIHRyeSB7CgkJCVN0cmluZyByYXRlUGFyYW1ldGVyID0gcmVxdWVzdC5nZXRQYXJhbWV0ZXIoInJhdGUiKTsgLy8g0LrQsNC6INC90LUg0LTQvtC20LjQtNCw0YLRjNGB0Y8g0Y3RgtC+0LPQviDQv9Cw0YDQsNC80LXRgtGA0LA/INC4INC/0YDQvtC00L7Qu9C20LDRgtGMINGA0LDQsdC+0YLRgwoJCQlEb3VibGUgcmF0ZSA9IERvdWJsZS5wYXJzZURvdWJsZShyYXRlUGFyYW1ldGVyKTsKCgkJCVNjYW5uZXIgc2MgPSBudWxsOwoJCQlTdHJpbmcgcmVhbF9maWxlbmFtZSA9IHBhZ2VDb250ZXh0LmdldFNlcnZsZXRDb250ZXh0KCkKCQkJCS5nZXRSZWFsUGF0aCgiL2dvb2RzLnR4dCIpOwoJCQl0cnkgewoJCQkgICAgc2MgPSBuZXcgU2Nhbm5lcihuZXcgRmlsZShyZWFsX2ZpbGVuYW1lKSk7CgkJCX0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CgkJCSAgICBlLnByaW50U3RhY2tUcmFjZSgpOwoJCQl9CgkJCU1hcDxTdHJpbmcsIERvdWJsZT4gZ29vZHMgPSBuZXcgVHJlZU1hcDxTdHJpbmcsIERvdWJsZT4oKTsKCgkJCXdoaWxlIChzYy5oYXNOZXh0KCkpIHsKCQkJICAgIFN0cmluZyBsaW5lID0gc2MubmV4dExpbmUoKTsKCQkJICAgIFN0cmluZ1tdIGdvb2RzRGF0YSA9IGxpbmUuc3BsaXQoIj0iKTsKCQkJICAgIGdvb2RzLnB1dChnb29kc0RhdGFbMF0sIERvdWJsZS5wYXJzZURvdWJsZShnb29kc0RhdGFbMV0pCgkJCQkgICAgKiByYXRlKTsKCQkJfQoJJT4KCTxiPtCh0L/QuNGB0L7QuiDRgtC+0LLQsNGA0L7QsjwvYj4KCTxicj4KCTx0YWJsZSBjZWxscGFkZGluZz0zIGNlbGxzcGFjaW5nPTMgYmdjb2xvcj05QUZGOTI+CgkJPHRyIGJnY29sb3I9M0NFMDIyPgoJCQk8dGg+0KLQvtCy0LDRgDwvdGg+CgkJCTx0aD7QptC10L3QsCjQsdC10LsuINGA0YPQsS4pPC90aD4KCQk8L3RyPgoJCTx0cj4KCQkJPHRkPgoJCQkJPCUKCQkJCSAgICAvL2l0ZXJhdGluZyBvdmVyIGtleXMgb25seQoJCQkJCQlmb3IgKFN0cmluZyBrZXkgOiBnb29kcy5rZXlTZXQoKSkgewoJCQkJCQkgICAgb3V0LnByaW50bG4oa2V5ICsgIjxicj4iKTsKCQkJCQkJfQoJCQkJJT4KCQkJCgkJCTx0ZD4KCQkJCTwlCgkJCQkgICAgLy9pdGVyYXRpbmcgb3ZlciB2YWx1ZXMgb25seQoJCQkJCQlmb3IgKERvdWJsZSB2YWx1ZSA6IGdvb2RzLnZhbHVlcygpKSB7CgkJCQkJCSAgICBvdXQucHJpbnRsbihuZi5mb3JtYXQodmFsdWUpICsgIjxicj4iKTsKCQkJCQkJfQoJCQkJJT4KCQkJCgk8L3RhYmxlPgoJPCUKCSAgICB9IGNhdGNoIChOdW1iZXJGb3JtYXRFeGNlcHRpb24gbmZlKSB7CgkJCW91dC5wcmludGxuKG5mZS50b1N0cmluZygpKTsKCSAgICB9IGNhdGNoIChOdWxsUG9pbnRlckV4Y2VwdGlvbiBucGUpIHsKCQkJb3V0LnByaW50bG4obnBlLnRvU3RyaW5nKCkpOwoJICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CgkJCW91dC5wcmludGxuKGUudG9TdHJpbmcoKSk7CgkgICAgfQoJJT4KCjwvYm9keT4KPC9odG1sPg==