博主资料

留言 加为好友 收藏

用户名:  xiaogang522
来自:  北京 朝阳

个人统计

用户名: xiaogang522
等级: 初来乍到
威望: 165
积分: 1030
在线时间: 0 小时
日志总数: 37
评论数量: 189
访问次数: 191178
建立时间: 2006-07-06
RSS订阅       手机访问

最新评论

文章搜索

文章列表

友情链接

最近访问的人:

yuzu
2008-06-29 15:45:26
就是it
2008-05-23 09:19:26
2008-04-27 14:34:06
百奥谷|百奥谷SEO..
2008-04-25 17:54:20
Oracle数据库灾备..
2008-03-31 21:46:20
毛毛虫过河
2007-10-25 08:26:56
焦久茂|SEM
2007-09-29 06:24:37
孙漪的天空
2007-09-28 06:11:25
广州易源服装专卖..
2007-09-22 12:51:57
利纳克斯
2007-09-21 09:57:25

日志文章

2006年09月30日 09:52:00

Jsp页面的几种传参方式

图片:


1.JavaScript传参:这种传参方式用opener关键字, 可以实现跨页传参.其用法就是用opener关键字调用父窗体的一个组件.

  举例:   opener.myform.txt.value = document.myform.txt.value;
  优点:   简单,对网络传输限制比较底.
  缺点:   不灵活,对与大量的传参不现实,也不实际.

2. " ? "传参: 在传递地址的尾部加上? 后面跟参数的名字和其值,在另外一个Jsp页面中就可以用request.getParameter("参数名字");获取到传递的参数.

  举例:   http://localhost:8080/bbs/tiezi/jishu.jsp?id=1
  优点:   灵活,只要把需要传递的参数放到一个变量中传递到传递的也面就可以了.
  缺点:   对于批量传参也不现实.

3. session传参:通常把它用来实现状态维持.session中有2个参数,第一个为标识,第二个为值,形式("key","value") 如果你的思维敏捷,就能联想到散列表,对它就是散列表的一种实现.

  应用举例:   session.setAttribute("login","ok"); session.getAttribute("login");
  优点:   不用关心是什么数据类型,都可以放到session中,它以对象的形式存储于散列表中.
  缺点:   session中把所有数据当成对象来存取,所以每次我们用它的时候都要把类型强制转换为我们需要的类型.

4. JavaBean传参: 这是最高级的一种传递参数,它把任何数据类型,任何方式封装在JavaBean中.我们在属性中定义需要传递的参数,然后加入一个get和set方法就可以了,在Jsp中调用的时候可以设置其生命周期,完成传递参数的过程.

  应用举例:
    package bean;

    public class sampleBean
    {
      private String sample="Star value";
      public String getSample()
      {
        return sample;
      }
      public void setSample(String newsample)
      {
        if(newsample!=null)
        {
          sample=newsample;
          }
    }
  优点:   灵活,多样,传递数组、对象、哈希表、等等数据结构.
  缺点:   根据传递参数的不同编写不同的JavaBean,费时费力.

  任何事物都有它的优缺点,事物都存在两面性,不能片面的使用一种传递方式,我们应该根据实际情况和现实需要,选择一种传递方式.

  以上是这些日子以来总结出来的,如果有什么地方欠缺或者说的不对的地方希望大家能指点.

类别: 无分类 |  评论(5) |  浏览(4185) |  收藏
一共有 5 条评论
5楼 [匿名]258090505 2008年07月22日 21:17:29 Says:
楼主,有没有关于.do方法后面传参的列子
action="/employeeAction.do?mothe=delEmp&username=<%= obj.getusername()%>我这样写应该没有问题吧,但是为什么页面上现实穿过去的是<%= obj.getusername()%>
我QQ:258090505 我们可以交流下吗?
4楼 [匿名]guest 2007年06月16日 11:23:05 Says:
著名的斐布拉契数列
3楼 [匿名]guest 2006年12月20日 23:19:34 Says:
忽忽,不错不错,顶一下下
2楼 [楼主]棋子 2006年11月20日 18:09:27 Says:
“这个题是你的眼睛欺骗了你,其实再次拼接的过程中,中间有面积为1的空隙。
如何来验证呢,计算一下角度的tan值就可以了。用sqrt表示根号
如果你不知道tan也没有关系,用勾股定理算得甲的斜边长sqrt(3^2+8^2)=sqrt(73),丙的斜边长sqrt(2^2+5^5)=sqrt(29),甲和丙组成的"直角三角形"斜边长sqrt(5^2+8^2)=sqrt(89),而sqrt(89)<sqrt(73)+sqrt(29),所以这个甲和丙没有构成三角形状,从结果来看,它在四个图形的交界处凹进了,其实如果你看得自己,会发现,甲和乙有个正方形的一条边不吻合。”
1楼 [楼主]棋子 2006年11月20日 18:06:30 Says:
关键是看重新组合好后的,请仔细观察如甲和乙的交线部分,以及甲和丁的交线部分,算一下,你会发现,它们两条线组合其实是一条折线,并不与甲的斜边重合。

因此,丁与乙合在一起并不是一个三角形,因此,这个图形并不是长方形,并不能用长方形的计算方式来计算面积。

反过来,假设如果(丁+乙)是三角形的话,可计算出,中间的乙的最短边为40/13(单位),
用(长方形的宽-乙的最短边)=甲图那条貌似2单位的中间线=5-40/13=5/13
而再根据计算,甲图那条貌似2单位的中间线实际值为8/15≠5/13(刚才的结果)

因此假设不成立,矛盾。

我们视觉上造成的错觉误以为重新组合的也是长方形了,因此得出了64=65的结论。
0楼 女人学IT 2006年10月08日 16:46:10 Says:
小刚弄的图形总是这么有新意,内容对我们也是很有用,嘻嘻!
-1楼 [匿名]guest 2006年10月02日 10:59:33 Says:
总结的不错,小刚继续加油!
-2楼 [匿名]guest 2006年09月30日 14:46:23 Says:
好东西,顶了!
发表评论