JSP页面如何让onload先执行,后执行<%%>里面东西

cugcaizi 2010-02-26 02:09:23
这个JSP页面的onload是调AJAX调JAVA类里的查询数据库,并且把结果放到request
JSP页面里面<%%>是request.getAttribute获得request,
但是总是先执行JSP的<%%>,后调onload,这样就先getAttribute后setAttribute,如何解决呢
...全文
1042 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
leavin521 2010-02-26
  • 打赏
  • 举报
回复
一定要在 onload 事件调用么?

在 js中 调用 这个事件对应的 function 不行么?
villagehead 2010-02-26
  • 打赏
  • 举报
回复
理论上绝对不可能。
但是,
技术上是可以解决lz的问题的。

首先,放弃用ajax取得那些值,
而把那些代码写在进入到这个页面之前的程序中。
最终效果就是把那些值在进入到页面前就取到。

这样也就的到了那些数据。

因为lz本来的需求也是onload的时候做得事情。
也就是页面刚显示出来“用户还没有操作的时候”要做的事情。

所以大可不必用ajax来实现。
在进到jsp之前的servlet程序中,把数据取出来放到request里面就行了

good luck
zyus1987 2010-02-26
  • 打赏
  • 举报
回复
在<%%>里面不能操作ajax返回的数据~!
yuzhangqu 2010-02-26
  • 打赏
  • 举报
回复
页面里面就不要包含逻辑代码了,在服务器端准备好数据再显示吧。
qggaccp 2010-02-26
  • 打赏
  • 举报
回复
我还以为上面的那个人是你呢
zoumin19870910 2010-02-26
  • 打赏
  • 举报
回复
楼上的和我的头像一样~~~~
qggaccp 2010-02-26
  • 打赏
  • 举报
回复
你在进入这个JSP之前就先把数据查出来放到request里不行吗?为什么要加载的时候才去查哩。
有没有必要这么复杂呀
Z_FEI 2010-02-26
  • 打赏
  • 举报
回复
引用 2 楼 landor2004 的回复:
<%%>是服务器端执行的,执行后会把所有html代码返回给客户端

执行的地方不一样,没法让 <%%>后执行

lz只能采取别的办法了
cscxxx 2010-02-26
  • 打赏
  • 举报
回复
使用另一个页面获得数据库结果
再注入这个jsp页面
这样方便添加业务流程
liwenso 2010-02-26
  • 打赏
  • 举报
回复
可以尝试将onload中的代码转换成JSP代码来实现
水中影子 2010-02-26
  • 打赏
  • 举报
回复
引用 2 楼 landor2004 的回复:
<%%>是服务器端执行的,执行后会把所有html代码返回给客户端

执行的地方不一样,没法让 <%%>后执行


onload是JavaScript,没有页面,无法执行JavaScript
Landor2004 2010-02-26
  • 打赏
  • 举报
回复
<%%>是服务器端执行的,执行后会把所有html代码返回给客户端

执行的地方不一样,没法让<%%>后执行
qingralf 2010-02-26
  • 打赏
  • 举报
回复
request是请求.上面发起了两次请求.就算ajax先,他放到request的结果页面也无法用<%%>取到.
ajax是通过js执行的.<%%>是服务器解释的。没执行<%%>前,根本没页面,也没js,更无从执行ajax了。
解决办法:在getAttribute前,<%%>内查询数据库,得出结果.或者在servlet内查询数据库并返回.

81,094

社区成员

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

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