由于考虑不周,遇到了这样一个问题,自定义了一个函数foo放在a.jsp中,然后它被大量jsp包含,在包含它的这些页面里面调用这个foo,现在问题是,foo里面原先有个值是固定的,现在想要从session或者某处来读了,假如要修改foo的参数列表,就必须修改包含a.jsp所有文件的这些地方,有办法让foo里面能访问到session吗?

解决方案 »

  1.   

    把这个变量改作参数传入方法,session里把值传入。
      

  2.   

    right,我知道这个办法可行,但是因为存在大量的地方调用了这个方法,改变参数列表必然要改动所有调用的地方,涉及版本控制,所以这个工作量相当巨大,因此想试试是否能够找到从这个自定义函数中直接读取session的办法。thanks all the same~
      

  3.   

    在页面获取session的值,然后在函数里面用啊,不可以吗????反正都是jsp页面啊
      

  4.   

    jsp中自定义函数?
    是不是javascript?
      

  5.   

    引用:
    在页面获取session的值,然后在函数里面用啊,不可以吗????反正都是jsp页面啊这个是不可以的,我在页面里面定义过一个全局Object,然后获取了session,在同一个页面的自定义函数里面就不能访问了,jsp编译成servlet之后,这两个东西有不同作用域,所以不可以。引用:
    jsp中自定义函数?
    是不是javascript?不是的,是用<%!这种定义的普通Java函数,就像public String sayHello(){return "hello";}这样的。
      

  6.   

    恐怕是不成,只能往里面传值,因为以前是定值,现在是在session里面取,那么你调用这个函数的时候就最起码让它知道去哪个session里面取值,所以必须用一个参数来指定,以上是我的看法。
      

  7.   

    引用:
    恐怕是不成,只能往里面传值,因为以前是定值,现在是在session里面取,那么你调用这个函数的时候就最起码让它知道去哪个session里面取值,所以必须用一个参数来指定,以上是我的看法。这个函数就定义在这个a.jsp中而不是在普通Java文件中,它是被所有页面包含,从这个页面里面其他部分取得的session应当就是所要的那个了,问题是从这函数内部就访问不到session,烦恼。引用:
    建议你新作一个类,再用批量改文件的工具改你的代码。实在没法的话,我只好这样了:(   问题是代码不是少数,况且有好多人在改,保持版本是个非常烦恼的事情。#$%^&*我自己加班就算了,害得别人跟着一起郁闷真是不好啊。
      

  8.   

    如果是在页面中,不知道可不可以定义一个session类型变量,而在那个函数中引用这个变量
    不知道你还能不能看到这个帖子,它已经结了