request.setAttribute() request.setAttribute()是不是只能从SERVLET到JSP的传递,不能反之?我现在有一个LIST集合,我怎么传递到服务器端?SESSION除外~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是一个非常基础的问题:jsp本身就是一个servlet,jsp也是运行在服务器端,而非客户端。 1.能反之2.如1楼 jsp和servlet都在服务器运行 jsp里面setAttribute()在servlet里面是能get到的 你在JSP里是怎样跳到servlet中去的? 表单提交可以吗JSP页面的JAVA代码if(request.getAttribute("sorderlist")!=null){ List list=(List)request.getAttribute("sorderlist"); request.setAttribute("sorderlist",list); System.out.println(request.getAttribute("sorderlist")); }SERVLET的JAVA代码List list=(List)request.getAttribute("sorderlist"); System.out.println("list:"+request.getAttribute("sorderlist")); if(list==null){ list=new ArrayList(); } list.add(sorder); request.setAttribute("sorderlist", list);输出的结构list:null[eip.sale.need.form.SpecificationOrder@199c55a]list:null[eip.sale.need.form.SpecificationOrder@6bc5aa] 表单提交不可以可以用forward跳转 表单提交?直接在服务端用request.getParameter就可以获取,不过这样获得的是一个字符串,需要拆分一下 List里放的是一个个的对象,并不是字符串, getAttribute() 是只能在容器之内传送 只能用SESSION了,或者你想办法把list变通下,然后再servlet里取出来,并组装回去。 request.setAttribute() 只要你在一个请求操作都能够通过request.getAttribute()来取到所以你在servlet到servlet都能够取到 嗯 JSP------->JSP ,servlet---->jsp , SERVLET------>SERVLET似乎都可以就是jsp-----servlet集合就传不过去没办法的话,我就只能把这个处理放在一个新的JSP里处理了 把request.setAttribute()放在JAVA代码里可以实现 这不简单么?利用URL传值也可以 href="xx.jsp?id="+<%=id%>,或者表单提交也行<input type="hidden" name="id" value="<%=id%>">无非就是获得的时候用request.getParameter()就行了如果传递集合什么的,你一样可以放在request.setAttribute()中得到的时候取出来就OK了 request.getAttribute() 兄弟 可能这是你的理想状态!其实我开始也是这么认为的,结果发现:jsp----->servlet集合就传不过去request.setAttribute()里传 就算是字符串都取不到值的,我用的是JS form表单提交到SERVLET方式 request.setAttribute()是一个怎样的跳转呢 java 如何实现读取excel里数据 用WATMServer快速搭建JSP服务环境 java 执行 sql 延迟 URL中有中文,使用url.oepnstream就会报错 请高手帮忙 逻辑问题帮忙...A,B,C,D四个答案..... 论坛正文数据的存储读取方式? 怎样写个量身定做的简历 用Log4j是不是要在每个需要使用日志的java文件中写Logger.getLogger()? 页面中如何取集合中的一个元素 菜鸟问题 Vector vet = new Vector()的问题 XSD -> HTML FORM-> XML
2.如1楼 jsp和servlet都在服务器运行 jsp里面setAttribute()在servlet里面是能get到的
JSP页面的JAVA代码if(request.getAttribute("sorderlist")!=null){
List list=(List)request.getAttribute("sorderlist");
request.setAttribute("sorderlist",list);
System.out.println(request.getAttribute("sorderlist"));
}SERVLET的JAVA代码List list=(List)request.getAttribute("sorderlist");
System.out.println("list:"+request.getAttribute("sorderlist"));
if(list==null){
list=new ArrayList();
}
list.add(sorder);
request.setAttribute("sorderlist", list);输出的结构
list:null
[eip.sale.need.form.SpecificationOrder@199c55a]
list:null
[eip.sale.need.form.SpecificationOrder@6bc5aa]
可以用forward跳转
所以你在servlet到servlet都能够取到
就是jsp-----servlet集合就传不过去没办法的话,我就只能把这个处理放在一个新的JSP里处理了
这不简单么?利用URL传值也可以 href="xx.jsp?id="+<%=id%>,或者表单提交也行<input type="hidden" name="id" value="<%=id%>">
无非就是获得的时候用request.getParameter()就行了
如果传递集合什么的,你一样可以放在request.setAttribute()中
得到的时候取出来就OK了 request.getAttribute()
兄弟 可能这是你的理想状态!其实我开始也是这么认为的,
结果发现:jsp----->servlet集合就传不过去
request.setAttribute()里传 就算是字符串都取不到值的,我用的是JS form表单提交到SERVLET方式