jsp+javabean 参数传递后,取不到值?

ruanwxh 2009-12-03 07:40:13
在JSP里面中
String[] type_name = null;
ArrayList list = TotTaskFuncs.TotLy(srtTime, endTime, iFrom, iIsImp, lTotal, type_name);
在TotTaskFuncs类TotLy方法中对type_name赋值后,在jsp取type_name还是为null,有没有什么解决办法?
...全文
118 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
longtenggdf 2009-12-03
  • 打赏
  • 举报
回复
当然是null .Java是值传递.对于基本类型和String ,以及String[] .传递的是对象本身的拷贝.
String[] type_name = null;
传递的是type_name指向对象的拷贝,这里其实是null.就暂且理解为两个null是不一样的吧.
ArrayList list = TotTaskFuncs.TotLy(srtTime, endTime, iFrom, iIsImp, lTotal, type_name);
不论你的TotLy 方法写了什么,做出的改变都是针对 那个拷贝对象的改变.原来那个对象根本没有变化.
运行一下代码看下
public class TestString {
public TestString(){

}
public static void change(String[] ss){
ss = new String[5];
}
public static void main(String[] abc){
String[] ss = null;change(ss);
System.out.println(ss);
}
}

int和其他基本数据类型都是一样.如果是对象类型的话就不一样了.对这方面有兴趣的可以看下:
http://blog.csdn.net/longtenggdf/archive/2009/09/28/4605728.aspx.
这对java 值传递有详细的说明.
解决办法只有通过返回值来实现了.要不就是不要用String[] ,用list<String>代替.
烟雨鹏城 2009-12-03
  • 打赏
  • 举报
回复
这个自然,type_name 都没有传递给request,这么可能取得到尼。
这样处理:



ArrayList tlist = new ArrayList();

tlist = listArrays.asList(type_name );
requeest.setAbtrue("tlist",tlist );

jsp页面:
requeest.getAbtrue("tlist" );即可
或者用c标签的for:each 编列展现
ygj281583295 2009-12-03
  • 打赏
  • 举报
回复
你里面 是怎么复制的贴出来啊

81,122

社区成员

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

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