我想可能是你的逻辑问题
应该是当你点击添加按扭时
根据ID将这条对应的记录所映射的实体BEAN放入List中
Action处理的代码可写为
Collection list=request.getSession().getAttribute("list");
Student stu=logic.findByid(id);if(list==null)
{
list=new Arraylist();
list.add(stu);
request.getSession.setAttribute("list",list);
}
else
{
list.add(stu);
}
return mapping.findForward("xx");
应该是当你点击添加按扭时
根据ID将这条对应的记录所映射的实体BEAN放入List中
Action处理的代码可写为
Collection list=request.getSession().getAttribute("list");
Student stu=logic.findByid(id);if(list==null)
{
list=new Arraylist();
list.add(stu);
request.getSession.setAttribute("list",list);
}
else
{
list.add(stu);
}
return mapping.findForward("xx");
解决方案 »
- 怎么循环出来数字啊 用el表达式
- 想学Java EE,前辈们给点意见
- java中web server的一点问题
- 谁告诉我有没有自动生成EJB3.0代码的工具
- 请教各位老师,有没有使用resin2.1.6+struts的老师呀,帮忙显示一个web.xml的内容我的出错
- Hibernate新手提问
- 急救....java调用report打印pdf的显示问题,显示黑屏
- tomcat能不能配置两个连接池,一个连接oracle 一个连接mysql?
- 请问在安装了tomcat4.1后关于classpath和java_home和tomcat_home的问题,高手帮忙看看~
- 【JMX】请讨论一下当前JMX在规范定义和实现上有什么不足?
- 哪位仁兄对Sun Java System Application Server的群集有所研究?好像会这个的人很少
- 请看这是什么问题?各位高手帮帮忙啊
static int a[]=new int[10];//用来存放每回查过的ID号
static int temp=0;//用于记数组下标
public ArrayList buy_list(String id){
BusinessForm form=new BusinessForm();
ArrayList buylist=new ArrayList();
try {
a[temp++]=Integer.parseInt(id);
for(int i=0;i<temp;i++){
System.out.println(a[i]);
rs=st.executeQuery("select * from bussness where buid='"+a[i]+"'");
while(rs.next()){
form.setBuid(rs.getString("buid"));
form.setBuname(rs.getString("buname"));
form.setNewprice(rs.getString("newprice"));
buylist.add(form);
//
}
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return buylist;
}
////////////////////////////////////////////////////////////////////////////////////
Action 中是这样的
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
BusinessForm businessForm = (BusinessForm) form;
String id=businessForm.getBuid();
DBManager db=new DBManager();
ArrayList mylist=db.buy_list(id);
request.getSession().setAttribute("buylist",mylist);
System.out.println(request.getSession().getAttribute("buylist"));
return mapping.findForward("buy");
}
////////////////////////////////////////////////////////////////////////////////////
显示页是这样的(只写了重要的循环输出部分) <logic:iterate id="list" name="buylist">
<form name="focu">
<tr><td><bean:write name="list" property="buid"/></td>
<td><bean:write name="list" property="buname"/></td>
<td><bean:write name="list" property="newprice"/></td>
<td><input type="text" name="num" value="1"></td>
<td><input type="button" value="修改数量" onclick="upda()"><input type="button" value="删除" onclick="dele()">
</td>
</tr>
</form>
</logic:iterate>
Student stu=logic.findByid(id);if(list==null)
{
list=new Arraylist();
list.add(stu);
request.getSession.setAttribute("list",list);
}
else
{
list.add(stu);
request.getSession.setAttribute("list",list);}
这样就可以解决了return mapping.findForward("xx");
如果它为空,则实例化并存入session中
否则则直接用,用完之后再放入session中