Javascript 在Java servlet中添加和打印会话中的值?

Javascript 在Java servlet中添加和打印会话中的值?,javascript,session-variables,shopping-cart,Javascript,Session Variables,Shopping Cart,好的,每当按下“添加到购物车”按钮时,我都会输出这个购物车代码。打印不同的游戏名称、数量和价格。问题是,假设我买了两个相同的游戏和两个不同的游戏,它会显示每个游戏的总量,而不是所有游戏的总量 所以,我遇到的问题是计算所有游戏的总量并一起打印,然后我想将值与游戏名称一起写入文件 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Cart extends HttpServlet {

好的,每当按下“添加到购物车”按钮时,我都会输出这个购物车代码。打印不同的游戏名称、数量和价格。问题是,假设我买了两个相同的游戏和两个不同的游戏,它会显示每个游戏的总量,而不是所有游戏的总量

所以,我遇到的问题是计算所有游戏的总量并一起打印,然后我想将值与游戏名称一起写入文件

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Cart extends HttpServlet {
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
String s, goods[] = {"Fifa 15", "Battlefield 4", "GTA 5", "The Last of US"};
int price []={59,49,69,39};
int cost;
PrintWriter out = res.getWriter();
res.setContentType("text/html");
HttpSession session = req.getSession(true);

if ( session == null ) return;
for (int i = 0; i < goods.length; i++){
    if ( session.getAttribute(goods[i]) == null )
    session.setAttribute(goods[i], new Integer(0));}

if ((s = req.getParameter("fifa")) != null) {
        int n = ((Integer) session.getAttribute(goods[0])).intValue();
        session.setAttribute(goods[0], new Integer(n + 1));
    } else if ((s = req.getParameter("battle")) != null) {
        int n = ((Integer) session.getAttribute(goods[1])).intValue();
        session.setAttribute(goods[1], new Integer(n + 1));
    } else if ((s = req.getParameter("gta")) != null) {
        int n = ((Integer) session.getAttribute(goods[2])).intValue();
        session.setAttribute(goods[2], new Integer(n + 1));
    } else if ((s = req.getParameter("lou")) != null) {
        int n = ((Integer) session.getAttribute(goods[3])).intValue();
        session.setAttribute(goods[3], new Integer(n + 1));
    }
out.println("<html><body><h2>Shopping Cart:</h2><ul>");
out.println("Items that have been Successfully added to Your Shopping Cart: ");
out.println();
for (int i = 0; i < goods.length; i++) {
    int n = ((Integer)session.getAttribute(goods[i])).intValue();
    if ( n > 0 )
    {out.println("<li><b>" + goods[i] + "</b> : " + n +" pcs for the price of $"+price[i] +"</li>");
        cost=n*price[i];
        out.println("$"+cost);}
    }
out.println("</ul></body></html>");
import java.io.*;
导入javax.servlet.*;
导入javax.servlet.http.*;
公共类Cart扩展了HttpServlet{
public void doPost(HttpServletRequest-req、HttpServletResponse-res)
抛出ServletException、IOException{
字符串s,货物[]={“Fifa 15”、“战场4”、“GTA 5”、“我们的最后一个”};
国际价格[]={59,49,69,39};
国际成本;
PrintWriter out=res.getWriter();
res.setContentType(“文本/html”);
HttpSession session=req.getSession(true);
if(session==null)返回;
对于(int i=0;i”;
println(“已成功添加到购物车的项目:”;
out.println();
对于(int i=0;i0)
{out.println(“
  • ”+货物[i]+”:“+n+”件,价格为“+price[i]+”
  • ”); 成本=n*价格[i]; out.println(“$”+成本);} } out.println(“”);
    如果我感觉不错,你想要总数吗

    int n;
    int total = 0;
    for (int i = 0; i < goods.length; i++) {
        n = ((Integer)session.getAttribute(goods[i])).intValue();
        if ( n > 0 ) {
            out.println("<li><b>" + goods[i] + "</b> : " + n +" pcs for the price of $"+price[i] +"</li>");
            cost=n*price[i];
            total=total+cost;
            out.println("$"+cost);
        }
        out.println("Total is : $"+total);
    }
    
    intn;
    int-total=0;
    对于(int i=0;i0){
    out.println(“
  • ”+货物[i]+”:“+n+”件,价格为“+price[i]+”
  • ”); 成本=n*价格[i]; 总计=总计+成本; out.println(“$”+成本); } out.println(“总计为:$”+总计); }
    嘿,我得到的总数在编译时可能没有初始化错误?谢谢,它成功了。你知道我如何将带有游戏名称的总数打印到txt文件中吗?你会发现一些示例:你给出的链接用于将字符串写入文本,但我想要的是将购物车的值从会话写入文本文件中?当您执行
  • ”+goods[i]
  • 时,您正在创建一个字符串。+对字符串起作用。因此goods[i]在连接到“
  • ”之前会自动转换为字符串。