在jsp上的文本框中输入要找零的金额(0-100),然后点击找零按钮,在按钮的下方显示可找零的50元/20元/10元/5元/1元
的纸币各有多少张;
要求:
1.使用JSP程序段/jsp表达式/jsp声明和form表单获取参数来实现
2.如果输入的金额不在0-100之间,则不显示找零的具体内容,并且使用JS弹框进行提示
在百度上搜过,但代码已经没有了。
先来无事,帮楼主简单实现一下,流程如下:创建一个 Java Dynamic Project 类型的项目 csdn_test。
在 scr 目录下创建一个类创建一个 Servlet 类 名为 ChangesServlet,实现为:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(description = "Change calculate Servlet", urlPatterns = { "/changeServlet"})
public class ChangesServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String money = req.getParameter("money");
System.out.println(money);
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out = resp.getWriter();
try{
int moneyValue = Integer.parseInt(money);
int fifty= moneyValue/50;
int twenty = (moneyValue - fifty*50)/20;
int ten = (moneyValue - fifty*50- twenty*20)/10;
int five = (moneyValue - fifty*50- twenty*20-ten*10)/5;
int one = moneyValue - fifty*50- twenty*20-ten*10 - five*5;
out.println(buildResponsePage(moneyValue,fifty,twenty,ten,five,one));
}catch(Exception e){
out.println(buildResponsePage(0,0,0,0,0,0));
}
out.flush();
out.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
private String buildResponsePage(int money,int fifty,int twenty,int ten,int five,int one){
StringBuffer buffer = new StringBuffer();
buffer.append("<!DOCTYPE html>");
buffer.append("<html>");
buffer.append("<body>");
buffer.append("<form action=\"changeServlet\">");
if(money==0 || money>100){
buffer.append("<span>金额格式错误,请输入输入要找零的金额(0-100)</span><input value=\""+money+"\" type=\"text\" name=\"money\"/>");
}else{
buffer.append("<span>请输入输入要找零的金额(0-100)</span><input value=\""+money+"\" type=\"text\" name=\"money\"/>");
}
buffer.append("<button type=\"submit\">提交</button>");
buffer.append("<br/><span>找零 50 元"+fifty+"张,20元"+twenty+"张,10元"+ten+"张,5 元"+five+"张,1 元"+one+"张");
buffer.append("</form></body>");
buffer.append("</html>");
return buffer.toString();
}
}
其次,在 WetContent 目录下创建一个 index.jsp 文件,前端表单输入,内容为:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<body>
<form action="changeServlet">
<span>请输入输入要找零的金额(0-100)</span><input type="text" name="money"/>
<button type="submit">提交</button>
</form>
</body>
</html>