菜鸟求助

漆黑之勺 2011-08-03 09:49:42
ly.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<table width="386" border="1" align="center">
<tr>
<td width="376" height="111">
<form id="form1" name="form1" method="post" action="doly.jsp">

<textarea name="textarea"></textarea>

<input type="submit" name="Submit" value="提交" />
</form>
<p>
<label></label>
</p>
</td>
</tr>
<tr>
<td height="124">

<%
List list = (List)session.getAttribute("list");
if(list != null)
for(Object o : list)
{
{
%>
<table width="250" border="1" align="center">
<tr>
<td height="47">
<%=o %>
</td>
</tr>
</table>
<%}} %>

</td>
</tr>
</table>
</body>
</html>





doly.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="javax.faces.application.Application"%>
<%
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>

</head>

<body>
<%
request.setCharacterEncoding("UTF-8");
String content = request.getParameter("textarea");
if (session.getAttribute("list") == null) {
List list = new ArrayList();
list.add(content);
session.setAttribute("list", list);
response.sendRedirect("ly.jsp");
} else {
List list = (List) session.getAttribute("list");
list.add(content);
response.sendRedirect("ly.jsp");
}
%>
</body>
</html>


1、我说下我认为的执行流程,先是单击ly.jsp中的提交按钮,跳转到doly.jsp中,然后通过判断后response.sendRedirect("ly.jsp");返回ly.jsp然后进行判断输出内容。以上说的有误请纠正下。
2、if (session.getAttribute("list") == null) {
List list = new ArrayList();
list.add(content);
session.setAttribute("list", list);
response.sendRedirect("ly.jsp");
}中,为什么list可以先拿来判断,后初始化呢??
...全文
126 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
美维 2011-08-04
  • 打赏
  • 举报
回复
就是看看有没有返回list

ghost123cc 2011-08-04
  • 打赏
  • 举报
回复
我也是新手, 路过。
淫生杯具 2011-08-04
  • 打赏
  • 举报
回复
if (session.getAttribute("list") == null) {
List list = new ArrayList();
list.add(content);
session.setAttribute("list", list);
}
response.sendRedirect("ly.jsp");
你的代码应该这样写吧,session在setAttribute前一般会先判断是否为空的,否则会覆盖之前的。还有你的这个应该不是用session而用request的吧?如果用request则可
List list = new ArrayList();
list.add(content);
request.setAttribute("list", list);
response.sendRedirect("ly.jsp");

JavaAlpha 2011-08-04
  • 打赏
  • 举报
回复
if (session.getAttribute("list") == null) //这里的判断是从session里面取的内容{
List list = new ArrayList();//这里的初始化是你自己从新new的,这两个list并非是同一个list,只是名字都是叫list而已。以后命名注意这一点,不要因为名字相同就是同一个


EverWHL 2011-08-04
  • 打赏
  • 举报
回复
必须要要先进行判断,如果list为空,才可以new一个新的,如果先一上来就先初始化的话,那岂不是有存在session里面的list就被初始化了吗
Jeelon 2011-08-04
  • 打赏
  • 举报
回复
session.getAttribute("list") == null 这句话得到的值是null 固然就可以判断了
便进入了if语句 LZ若是有疑问 你吧if语句改为:
if (session.getAttribute("list") != null) { 你看看他还会不会进去。
轻狂小疯 2011-08-03
  • 打赏
  • 举报
回复
看的懂一点 呵呵!我也是新手
qingYun1029 2011-08-03
  • 打赏
  • 举报
回复
楼主,代码格式该整整呀!
留下买路财 2011-08-03
  • 打赏
  • 举报
回复
session.getAttribute("list")这句的意思是在session中找找看是否存在list,如果没有就初始化,有就直接取出来用……

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧