weixin_42170456 2019-10-19 15:24 采纳率: 100%
浏览 340
已采纳

刚学Javaweb,老师布置的作业没有头绪。

在jsp上的文本框中输入要找零的金额(0-100),然后点击找零按钮,在按钮的下方显示可找零的50元/20元/10元/5元/1元
的纸币各有多少张;
要求:
1.使用JSP程序段/jsp表达式/jsp声明和form表单获取参数来实现
2.如果输入的金额不在0-100之间,则不显示找零的具体内容,并且使用JS弹框进行提示
在百度上搜过,但代码已经没有了。

  • 写回答

1条回答

  • 毕小宝 博客专家认证 2019-10-19 19:27
    关注

    先来无事,帮楼主简单实现一下,流程如下:创建一个 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>
    

    启动项目运行,访问 应用结果如下:
    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大