当前位置:编程学习 > JAVA >>

怎么在jsp中设置一个数组全局变量,加static报错??能用application吗,怎么用

急求大神解救 --------------------编程问答-------------------- 小弟刚来,分给的少别介意。。。。。 --------------------编程问答-------------------- 你是什么意思啊,是不同页面共享这个数组全局变量吗?
那就用request.getSession().setAttribute --------------------编程问答-------------------- 你在 class 里加,然后把这个 class import 进来试试 --------------------编程问答-------------------- 我用Arraylist数组new了一个goodslist对象用来存商品信息,然后把goodslist存到session中,我想定义一个全局变量,当从jsp传值(商品的name等)过来时依次存到goodslist中,而不是要每次都初始化。。。
执行Arraylist goodslist=new Arraylist();语句。。 --------------------编程问答-------------------- <%!List l=new ArrayList(); %>
这样声明,这个变量就是当前jsp全局的变量了。如果不加!,那么这个变量就是局部的, --------------------编程问答-------------------- <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import=" goodscar.GoodsSingle"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'showmsg.jsp' starting page</title>
    <link href="layout1.css" rel="stylesheet" type="text/css" />
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

  </head>
  
<body>
<%!
public static String toChinese(String str){
try{
byte s1 []=str.getBytes("ISO8859-1");
return new String(s1,"gb2312");
}catch(Exception e){ 
return str;
}
}
%>
  <div id="container">
  <div id="header"></div>
  <div id="mainContent">
    <div id="sidebar"></div>
    <div id="sidebar2"></div>
    <div id="content">
    <IMG   height=400 alt="" src="<%=request.getParameter("picUrl")%>" width=490></br>
     <% String dishname=request.getParameter("dishname");%>
     <% String price=request.getParameter("price");%>
     <% double dishprice = Double.parseDouble(price);%> 
     <% float  dishpr=(float)dishprice; %>  
     <center>菜名:<%=toChinese(dishname)%></center></br>
     <center>价格:RMB<%=price%>元</center></br>
  <% int i=0;
  if(application.getAttribute("i")==null){
    i=0;
  }
 else{ i=Integer.parseInt((String)application.getAttribute("i"));
       i=i+1;
       }
       out.print(i);
  application.setAttribute("i",String.valueOf(i));
  %>
   <%  ArrayList goodslist=new ArrayList();
        GoodsSingle single=new GoodsSingle();
        single.setName(dishname);
        single.setPrice(dishpr);
        single.setNum(1);
        out.print(i);
        goodslist.add(i,single);
     %>
     <%
           session.setAttribute("goodslist",goodslist);
     %>  
    <center><a href="docar.jsp?action=buy"><img src=images/QQ截图20131008125234.png ></a></center>
    </div>
  </div>
</div>
  </body>
</html>
--------------------编程问答-------------------- 刚学的java web 水平拙劣,每次从别的页面传值商品信息,加到商品数组goodslist下,怎么才能让goodslist始终是同一个?而不是每次都new一个?? --------------------编程问答-------------------- 只能对第一个传过来的值进行操作(加入购物车及累加),其他传的不起作用 --------------------编程问答--------------------
引用 8 楼 u013126032 的回复:
只能对第一个传过来的值进行操作(加入购物车及累加),其他传的不起作用


上个问题没结贴呢  你还是在发个帖吧  这个时间好久远了
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,